可以的,MFC仅仅就是封闭了的windos API,不过学学也没有坏处,MFC可以减少你不少的工作量
我的怀疑是,可能问题出在gl引擎和当前dc、rc绑定不正确。
opengl有一个限制,就是一个进程只能有一个渲染引擎,但可以有多个rc(一个文档你在初始化的时候,一定用wglcreatecontext根据文档的dc创建了一个渲染上下文rc),如果是单文档就不用操心这些。
但如果一个进程里有多个窗口要显示的话,你就必须在每个窗口ondraw的开始首先将gl引擎绑定到当前窗口的dc和rc(wglmakecurrent( hdc, hrc )),然后ondraw结束时再解绑定(wglmakecurrent( null, null ))。
可以这么说,就是很多个窗口在争抢一个opengl引擎,每个窗口如果想用gl接口,就必须先把gl引擎抢到自己手里,所以每个窗口,凡是用到opengl接口的地方(比如onsize里,你一定要设置投影和模型矩阵)都要首先绑定,再解绑定。
因为我以前也因为多窗口遇到了类似问题,所以我怀疑是这样的,不知对不对。
OpenGL(全写Open Graphics Library):是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。MFC(Microsoft Foundation Classes):是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。 如果你要干MFC之类的工作的话,建议你放弃,你的思维能力太差了。你学学.NET或Java吧,形象易用。
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....