openGL示例代码及注释(一)
2013-03-23 18:18
281 查看
在网上下了一点代码,自己加了一些注释:
#include <stdlib.h> #define GLUT_DISABLE_ATEXIT_HACK #include <GL/glut.h> void display(void) { /* 清除所有的像素*/ glClear (GL_COLOR_BUFFER_BIT); /* 绘制一个对角顶点坐标分别为(0.25, 0.25, 0.0) 和(0.75, 0.75, 0.0) 的白色多边形 *(矩形) */ glColor3f (1.0, 0.0, 0.0); glBegin(GL_POLYGON);//glBegin支持的方式除了GL_POINTS和GL_LINES,还有GL_LINE_STRIP,GL_LINE_LOOP,GL_TRIANGLES,GL_TRIANGLE_STRIP,GL_TRIANGLE_FAN //适当了解一些,当然,确认顶点的方式也有很多种:glVertex2d glVertex2f glVertex3f glVertex3fv等等~~~~ glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); glBegin(GL_LINES); glVertex2d(0.0,0.0); glVertex2d(5.0,5.0); glEnd(); /* 不等待!立刻开始处理在缓冲区中的OpenGL函数调用*/ glFlush ();//保证前面的OpenGL命令立即执行(而不是让它们在缓冲区中等待)。其作用跟fflush(stdout)类似。 } void init (void) { /* 指定清除颜色*/ glClearColor (0.0, 0.0, 0.0, 0.0); /* 初始化视景体*/ glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); } /* 指定窗口的初始大小和位置以及显示模式(单缓存和RGBA模式) * 打开一个标题为“hello”的窗口,调用初始化函数 * 注册用于显示图形的回调函数,进入主循环并处理事件 */ int main(int argc, char** argv) { glutInit(&argc, argv); /*初始化GLUT并处理命令行参数*/ //设置显示方式,前面是缓冲的选择,有GLUT_SINGLE-使用单缓冲区 GLUT_DOUBLE-双缓冲区 //后面的是颜色表示的方式:GLUT_RGB使用RGB颜色 GLUT_INDEX使用索引颜色 glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize (600, 600); /*指定窗口的大小,单位为像素*/ glutInitWindowPosition (200, 200); /*指定窗口左上角在屏幕上的位置*/ glutCreateWindow ("Window-name"); /*使用一个OpenGL场景创建一个窗口*/ //注意的是:窗口创建之后,并不能立即显示在屏幕上,需要调用glutMainLoop()才能 init (); glutDisplayFunc(display);//暂时理解成:设置一个函数,当需要进行画图时,这个函数就会被调用 glutMainLoop();//进行消息循环(暂时这么理解吧) return 0; /* ANSI C 要求main()返回一个int值*/ }
相关文章推荐
- OpenGl第四章 纹理详细亮度调整代码注释
- opengl编程指南示例程序2-15完整代码
- 【OpenCV 学习】自带示例:随机数发生器&绘制文字 代码注释解析
- Node.js基础代码示例,带注释
- VS2015中跑OpenGL红宝书第八版的示例代码
- OpenGL学习中对示例代码分析所得
- Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
- 黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- C语言简单示例(代码注释)
- 最简单的粒子特效(Transform Feedback ) 的关键代码示例【OpenGL】
- VS2005编译OpenGL红宝书示例代码
- JPush Java SDK 示例代码与简要注释
- openGL程序示例代码——旋转的玉石
- ASP.Net 2.0 窗体身份验证机制-转+自己代码注释示例与更详细的说明
- 搭建基于MinGW平台的《OpenGL蓝皮书(OpenGL SuperBibe 5th)》示例代码编译环境
- ASP.Net 2.0 窗体身份验证机制-转+自己代码注释示例与更详细的说明
- OpenGL 多重纹理示例代码
- 同步synchronized 示例 和 理解(未完,先把代码copy上,过会在写注释和理解)
- ASP.Net 2.0 窗体身份验证机制-转+自己代码注释示例与更详细的说明(网上转)
- 最简单的 MRTs(Multi Render Targets)的完整代码示例【OpenGL】