WinAPI窗口中包含的OpenGL/GLUT视图
OpenGL/GLUT view contained in WinAPI window
我想要实现的是这样的东西,即标准窗口中包含的OpenGL视图,以及一些按钮、菜单等。
然而,我正在尝试使用非托管C++和WinAPI来实现这一点(项目需求),如果可能的话,还可以使用(免费)GLUT。
然而,在我看来,使用GLUT唯一可能的事情就是创建一个单独的窗口。我是对的,还是真的有一种方法可以将窗口句柄传递给GLUT进行渲染?还是我完全偏离了轨道?
是的,据我所知,GLUT只允许你绘制完整的窗口,不会让你绘制成任意的矩形。有许多关于在Windows中只使用Win32和WGL API设置渲染上下文的教程。一旦你设置了上下文,你就可以像使用GLUT一样有效地完成所有事情,但要使用适当的WGL函数来交换缓冲区。
这里有一个关于将涉及的内容的高级概述,尽管它确实很重文本,并且与MFC相关,它概述了整个过程。您应该能够查找适当的WGL API引用来实现这一点。
如果您已经决定使用Win32 API,那么使用GLUT真的没有意义。老实说,它会试图对您隐藏一切,包括处理对话框初始化和按钮事件所需的消息泵。如果您的需求不局限于Win32 API,我建议使用更便携的东西,比如Qt,用于支持对话并支持OpenGL的框架。
相关文章:
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 视图中的参数推导失败:take_while
- 如何维护资源管理器项目视图中当前可见的项目列表
- 在另一个类视图中添加最多2个图表的正确方法是什么
- 使用 GLUT 使用键停止动画?
- OpenVR:向视图方向移动
- GLEW/GLUT:调用init并创建一个窗口后,取消初始化并重新初始化?
- 使用 WIN32 API (C/C++) 对特定树视图项进行着色
- 将所选值(通过视图)从 boost::multi_array 复制到另一个数组 (C++)
- 如何在不使用滚动条的情况下使视图更改
- 列表视图更改选择颜色
- Qt - QVector 和模型视图 - 从列表视图获取自定义类的最佳方法是什么?
- 在 Qml 中从 QSqlTableModel 中删除单行时视图不一致
- 如何从未知视图中声明范围::v3::View 变量
- 控制带有信号/插槽的Qt QML滑动视图
- OpenGL Glut显示功能在Mojave上显示黑屏
- 列表视图项的替代颜色
- 带有 GDB 调试器的 VS 代码内存视图
- 如何将到达图形视图右侧(末端)的QGraphicsPixmapItem移动到左侧(开始)侧(就像在贪吃蛇游戏中发生的事情
- WinAPI窗口中包含的OpenGL/GLUT视图