OpenGL框架

任何一种程序都有它的运行环境。OpenGL的所有绘图命令(函数)都必需在OpenGL的运行环境中使用,这个运行环境我们称为OpenGL的框架。我们现在使用的是微软公司的Windows系统,所有程序又都是在Windows系统下运行的,所以我们的OpenGL程序还得建立在Windows的程序框架上。在Windows系统下编制OpenGL程序必需首先建立Windows框架,再在Windows框架下建立OpenGL的框架。
    我们这里主要是讲述游戏的开发,最好是用SDK的开发模式,所以Windows程序框架就得我们自己来建立了。好在这个包含OpenGL的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的连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值