我刚刚开始使用OpenGL,似乎不容易理解glutMainLoop()那里真正发生的事情的工作?在任何函数调用响应之前,它是否一直无所事事?
我想知道如何绘制螺旋线.
我写了这段代码:
void RenderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT);
GLfloat x,y,z = -50,angle;
glBegin(GL_POINTS);
for(angle = 0; angle < 360; angle += 1)
{
x = 50 * cos(angle);
y = 50 * sin(angle);
glVertex3f(x,y,z);
z+=1;
}
glEnd();
glutSwapBuffers();
}
Run Code Online (Sandbox Code Playgroud)
如果我不包括z项,我会得到一个完美的圆,但是当我包含z时,我得到3个点就是它.可能发生了什么?
我使用glviewport(0,0,w,h)设置视口
要包括z我应该做什么来设置z方向的视口?
我做了一个窗户大小800x600.我打了电话
gluOrtho2D(-400,400,-300,300);
glViewport(400,300,400,300);
Run Code Online (Sandbox Code Playgroud)
我画了一条线,从(-100,-100)到(100,100).我想我应该会看到一个从线(0,0)到(100,100),但我得到了整条生产线.为什么是这样?