位置: 编程技术 - 正文
推荐整理分享OpenGL Tutorial: (2) Creating an OpenGL Window,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
接上文(《OpenGL Tutorial: (1) Setting up OpenGL with Visual Studio》)。
创建默认的OpenGL窗口先给出一个能运行的例子,它创建一个默认的OpenGL窗口并给它填色。如果press 键那么程序退出。
上面这段代码中,创建OpenGL窗口就用到了这么一句:
它当然可以创建OpenGL窗口,但是没有任何的额外的参数,完全由着OpenGL的默认行为。
Screenshots:
控制窗口的位置和大小把main函数改成:
其中初始化和创建OpenGL窗口的语句是:
运行。这时候你会发现创建出来的OpenGL窗口已经不是一个随意的大小和位置,而是你所期望的结果: Screenshot:
初始化显示模式 glutInitDisplayMode把初始化和创建OpenGL窗口的语句改成这样的:
要关注一下这一句:
glutInitDisplayMode (GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
GLUT_DEPTH: 告诉OpenGL,我们需要一个z轴。GLUT_DOUBLE: 告诉OpenGL,我们启用双缓冲区。GLUT_RGBA: 告诉OpenGL,我们使用Red, Green, Blue, and Alpha的方式来分配位的Framebuffer。看一下运行结果:
是怎么一回事呢?恰恰是因为我们设置了GLUT_DOUBLE的结果。
改一下renderScene函数:
注意我们加了这一句:
glutSwapBuffers ();
这一句的作用是交换缓冲区,就是在设置GLUT_DOUBLE时创建的那两个缓冲区。刚刚我们执行的结果是空白,实际上图像画在了“后台”的那个缓冲区,现在我们把它置换到前台来。 执行结果: 你看,这个熟悉的紫色矩形框又能看到了。
为什么要设置双缓冲区呢?因为,当我们画复杂的图形的时候,绘制的过程可能导致屏幕闪烁,如果我们先让它在“后台”的缓冲区里画着,画好了以后再置换到“前台”的缓冲区里来,这样就消除了闪烁了。
今天先写到这里,后面我们再来详细解释。
参考文章《CREATING AN OPENGL WINDOW》附:系列文章索引OpenGL Tutorial: (1) Setting up OpenGL with Visual Studio OpenGL Tutorial: (2) Creating an OpenGL WindowVS配置OpenGL 1.下载glut库glut库地址为:
Android OpenGL ES(三)----编程框架 首先当然是创建Android项目,你可以选择最新的AndroidStudio也可以选择eclipse都是一样的。我们重点讲解开发OpenGLES的流程1.定义顶点着色器和片段着色器第
openGL 坐标系的互相转换 openGL坐标系包含旋转,平移,缩放被塞在一个矩阵里面。坐标系之间的转换基础是矩阵的运算。每一个矩阵代表的坐标系,就是是原点坐标系通过旋转
标签: OpenGL Tutorial: (2) Creating an OpenGL Window
本文链接地址:https://www.jiuchutong.com/biancheng/369431.html 转载请保留说明!友情链接: 武汉网站建设