接触opengl有一段时间了,做过几个小项目。中间隔过一段时间,再重拾opengl的时候发现又变得很生疏。现将opengl的开发环境搭建及基本的知识做一个小结,方便自己记忆。
1.开发环境
第一个项目是MFC下的三维文件预览程序,主要功能是载入3Ds文件,能在MFC窗口中预览,除了实现旋转、平移、缩放等功能外,还要实现opengl的选取功能,并对选取的部分进行旋转平移和缩放。
Windows下进行窗口显示,是利用DC(device context)处理我们的一系列绘图或是显示指令,使我们绘制的图形或是加载的图片能在窗口中显示。同样,要在MFC窗口中利用opengl的命令绘图并且显示三维图形,也是要依靠DC,但是MFC类中封装的一些dc都不好使,需要一类特殊的为opengl设计的DC,它被称之为RC(Render Context 渲染描述表)。一个OpenGL渲染描述表内有OpenGL与Windows 窗口系统相关的各种信息。一个OpenGL应用首先必须创建一个渲染描述表,然后再启动它,最后在所定义的窗口内按常规方式调用OpenGL函数绘制图形。
RC的创建主要有2步:
1.设置像素格式。
2.利用窗口DC产生一个相关联的RC。
所谓像素格式,它含有设备绘图界面的属性,这些属性包括绘图界面是用RGBA模式还是颜色表模式,像素缓存是用单缓存还是双缓存,以及颜色位数、深度缓存和模板缓存所用的位数,还有其它一些属性信息。
像素格式的设置有3步:
1.创建像素格式的结构体(网上有)。
2.赋值像素格式,并根据这个像素格式生成一个像素索引。
3.若像素索引