Windows上Opengl开发UI遇到的两个坑

一、GLEW初始化后并不支持新版的opengl函数。 原因是piexlFormart选择了支持向BitMap绘制,这样会使当前opengl环境只支持OpenGL 1.1。

顺便记录一下GLEW使用的几个注意点:

1、头文件要在最前引用 不要在其前边引用gl.h文件 会导致错误。

2、初始化要在wglCreateContext   MakeCurrent之后初始化。并检查返回值是否是 GLEW_OK

3、支持的opengl版本判断使用if(GL_VERSION_x_x) {} (GL_VERSION_4_0)来判断

 

 

二、Opengl可以直接向DIB的DC(设备无关)上绘制,但透明度始终为0.导致updateLayeredWindows时将产生一种特殊的混合效果。(重点:透明度为零,其他颜色数据不为0时 update效果不是纯透明)这将导致误会,实际上只是没有透明度数据引起的。【注:这里的误会是指GDI+函数DrawRectangle  填充色为255时也会引起此效果,设置为254即可,这两个机制不知是否相同,有时间的同学可以试试 然后结果给大家分享一下】

发表评论

电子邮件地址不会被公开。 必填项已用*标注