我应该使用 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();
}