您的位置:首页 > 编程语言

VC之OpenGL编程框架

2013-04-13 00:14 253 查看
在Windows系统下编制OpenGL程序必需首先建立Windows框架,再在Windows框架下建立OpenGL的框架。

Windows程序框架

Windows框架是我们在Windows系统下运行的程序必需的架构。Windows框架主要由三个函数构建。

● WinMain() 程序入口。程序从这里开始运行。WinMain()的功能为定义一个Windows的窗口的样式、大小等等,并建立这个窗口。
● MsgProc() 窗口回调函数。Windows程序是基于事件响应的运行机制,MsgProc()窗口回调函数在整个运行周期中随时对回调函数所定义的外部事件(鼠标移动、点击,窗口变化,键盘和其它函数发出的消息) 做出反应。
● GameLoop() 消息循环。这是利用Windows的消息机制做成的主循环函数,它被程序反复执行。它的作用是侦听消息,有消息时返回Windows的消息链,没有消息时就执行OpenGL的图形处理Render()。

OpenGL程序框架

OpenGL的基本框架由四个函数组成。
● SetupPixelFormat(HDC hDC) 检测安装OpenGL。主要设置OpenGL的参数,并测试显卡安装OpenGL的图形系统。OpenGL安装成功后就不再使用。
● init(int Width, int Height) OpenGL视口进行变换。根据Windows窗口的变化对OpenGL视口进行变换。这里的视口就是我们看到的三维世界视觉效果的窗口。OpenGL安装成功后就不再使用。
● CleanUp() 清除OpenGL的连接。在程序退出时调用,清除OpenGL的视口和图形环境。
● Render() OpenGL图形处理。这是处理OpenGL图形的关键函数,它在程序的整个程序运行时间中都在调用,它的调用周期也就是我们的屏幕刷屏周期。我们今后的所有图形显示命令都在这里给出。

Windows程序框架与OpenGL程序框架的相互关系:

● WinMain()是程序入口点,在此将定义一个Windows的窗口的样式、大小等等,并建立这个窗口。
● Windows程序是基于事件响应的,在建立窗口的命令执行中,MsgProc()窗口回调函数对建立窗口的事件消息做出反映,马上调出OpenGL框架中的SetupPixelFomat()检测机器对OpenGL的支持情况,并安装OpenGL显示接口。
● 当窗口建立成功显示时,MsgProc()窗口回调函数对窗口尺寸变化事件消息又作出反映,调出OpenGL框架中的init()对OpenGL视口进行变换调整。
● Windows窗口生成后就进入GameLoop()主循环中,在此一直调出OpenGL框架中的Render()函数进行我们需要的图形处理。
● 程序退出时,调用CleanUp()清除OpenGL的连接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: