现在的位置: 首页 > 综合 > 正文

first class

2017年12月20日 ⁄ 综合 ⁄ 共 891字 ⁄ 字号 评论关闭

#include <GL/glut.h>

 

 

void render(void);

 

void main(int argc, char **argv)

{

        glutInit(&argc, argv);

        glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);

        glutInitWindowPosition(100,100);

        glutInitWindowSize(640,480);

        glutCreateWindow("first class");

        glutDisplayFunc(render);

        glutMainLoop();

}

 

void render(void)

{

        glClearColor(0.0,0.0,0.0,0.0);

        glClear(GL_COLOR_BUFFER_BIT);

        glBegin(GL_TRIANGLES);

           glVertex3f(-0.5,0,2);

           glVertex3f(0,0,2);

           glVertex3f(0,1,2);

        glEnd();

        glFlush();

}

 

 

分析glVertex3f中的坐标值,可以得到以下结论:

1)原点在正中央;

2)照相机的位置在Z轴上(0,0,1)处往下看;

3)0.5实际对应的位置为窗口的一半处;

 

关于glut

1)opengl本身不创建窗口,又glut创建;

2)glut用5个函数来创建窗口;

 

关于缓冲区

1)glClearColor与glClear函数来完成颜色缓冲区的清除;

2)GL还有深度,累计和模板四个缓存区;所以还可以组合如要清空深度与颜色缓存区,可以这样做:

glClearColor();

glClearDepth();

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

 

关于glFlush

强制前面所有的命令执行,是不能缺少的。

 

 

抱歉!评论已关闭.