如何在window下面使用OpenGL作图-续GDI作图

如何在window下面使用OpenGL作图

1.先设置显示设备DC的位图格式(PIXELFORMAT)属性.
 方法:填充(PIXELFORMATDESCRIPTOR)的结构//该结构决定了OpenGL作图的物理设备属性
 

比如:该结构中的dwFlags中PFD_DOUBLEBUFFER位如果没有被设置(置一),通过该设备的DC上作图的OpenGL的命令就不可能使用双缓冲来做动画.
注意:有些位图格式(PIXELFORMAT)是DC支持的,而有些DC就不支持了.
所以:程序必须先用ChoosePixelFormat来选择DC所支持的与指定的位图格式最接近的位图格式.
然后用SetPixelFormat设置DC的位图格式.

2.利用刚才的设备DC建立渲染上下文RC(),使得RC与DC建立联系
 方法:用wglCreateContext在设备DC建立渲染上下文RC;用wglMakeCurrent使得RC与DC建立联系

3.调用OpenGL函数作图.由于线程与RC一一对应,OpenGL函数中的参数中都不指明本线程RC的句柄
 方法:用OpenGL函数就够了

4.作图完毕后先通过设置当前线程的RC为NULL(方法::wglMakeCurrent(NULL,NULL);)断开当前线程和该渲染上下文的联系,由此断开与设备DC的联系.

注意:由于此时的RC句柄的有效性在微软自己的文档中并没有讲清楚,所以在后面的删除RC的时候要先判断RC的有效性(if(hRC)  wglDeleteContext(hRC);)
在根据情况释放(ReleaseDC)或者删除(DeleteDC)设备DC

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值