代码运行环境:VC++6.0
运行效果:
代码:
#include <gl/glut.h>
float step = 0.08f; //旋转速度
void Display() //显示一个三角形旋转
{
//设置图形旋转
while(1){
glRotatef(step,0.0f,0.0f,1.0f); //设置旋转每次在上一个的基础上逆时针旋转step角度
//绘图
glClear(GL_COLOR_BUFFER_BIT); //清空颜色缓冲
glBegin(GL_TRIANGLES); //图元是三角形
glColor3f(1,0,0); //设置画笔颜色为 红色
glVertex2f(0,0.8);
glColor3f(0,1,0); //设置画笔颜色为 绿色
glVertex2f(0.75,-0.5);
glColor3f(0,0,1); //设置画笔颜色为 蓝色
glVertex2f(-0.75,-0.5);
glEnd();
//step+=0.00001f; //旋转速度递增
glFlush(); //清空并执行缓冲区指令
}
}
int main(int argc,char** argv)
{
//glut初始化
glutInit(&argc,argv); //对命令行参数进行处理
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); //初始化窗口显示模式为单缓冲和RGB颜色模式
glutInitWindowSize(700,700); //初始化窗口大小为700px*700px
glutInitWindowPosition(200,100); //初始化窗口显示位置
glutCreateWindow("三角形旋转"); //创建窗口
glutDisplayFunc(Display); //设置显示回调函数
glutMainLoop(); //死循环
return 0;
}