我應該使用OpenGL_POINTS繪製一個正弦波(如圖中的那個)。但是,在通過代碼中的循環之後,我不斷獲得一個wave的一個點。如何使用C++在OpenGL_POINTS函數中繪製正弦波
這是我的代碼。
#include "stdafx.h"
#include <iostream>
#include <gl\GLUT.h>
#include <math.h>
using namespace std;
void RenderSineWave()
{
int i;
float x,y;
glClearColor(0.0, 0.0, 0.0, 1.0); // clear background with black
glClear(GL_COLOR_BUFFER_BIT);
glPointSize(10);
glColor3f(1.0,0.0,0.0);
for(i=0;i<361;i=i+5)
{
x = (float)i;
y = 100.0 * sin(i *(6.284/360.0));
glBegin(GL_POINTS);
glVertex2f(x,y);
glEnd();
glFlush();
glutPostRedisplay();
}
}
void main(int argc, char** argv)
{
glutInit(&argc,argv);
glutCreateWindow("SineWave.cpp");
glutDisplayFunc(RenderSineWave);
glutMainLoop();
}
不要打電話glutpostredisplay每次渲染點,告訴我,如果說工作 –