OpenGL学习笔记:(二)简单绘制正方形(基本框架)

来源:互联网 发布:淘宝怎么实人认证 编辑:程序博客网 时间:2024/05/17 22:48

#include "GL/glut.h"<span style="white-space:pre"></span>//头文件,包含了gl.h glu.hconst int WINDOW_WIDTH = 800;const int WINDOW_HEIGHT = 600;void reshape();void display();void init();void init(){glClearColor(0.0, 0.0, 0.0, 1.0);}void display(){glClear(GL_COLOR_BUFFER_BIT);<span style="white-space:pre"></span>glColor3f(1.0, 0.0, 0.0);glRectf(0, 0, 40, 40);glutSwapBuffers();<span style="white-space:pre"></span><span style="color:#ff0000;">//一定要记得此操作,若为单缓冲则用glutFlush()</span>}void reshape(int width, int height){glMatrixMode(GL_PROJECTION);<span style="white-space:pre"></span>//设置当前为投影矩阵glLoadIdentity();<span style="white-space:pre"></span>//当前矩阵设置为单位矩阵gluOrtho2D(0, width, 0, height);<span style="white-space:pre"></span>//设置2D正交投影glMatrixMode(GL_MODELVIEW);glLoadIdentity();glViewport(0, 0, width, height);<span style="white-space:pre"></span>//设置视口,正好为整个窗口}int main(int argc,char** argv){glutInit(&argc, argv);<span style="white-space:pre"></span>//初始化,接收命令行的一些指令glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);<span style="white-space:pre"></span>//初始化绘图模式,此处包括GLUT_DOUBLE(双缓冲)、GLUT_RGB(RGB颜色)glutInitWindowPosition(0, 0);glutInitWindowSize(WINDOW_WIDTH, WINDOW_HEIGHT);glutCreateWindow("Rubber");init();glutReshapeFunc(reshape);<span style="white-space:pre"></span>//回调函数glutDisplayFunc(display);glutMainLoop();}


0 0
原创粉丝点击