主功能和窗口,支持 Opengl 3.0+ 和 DirectX 10+
Main function and window that supports Opengl 3.0+ and DirectX 10+
我目前正在开发游戏引擎,并希望同时支持DirectX和OpenGL,但据我所知,directX必须使用WINAPI打开其窗口,但这是一个窗口专用点。
是否有任何支持OpenGL和DirectX的入口点,以及是否有OpenGL和DirectX都支持的窗口库。
如果没有简单的方法可以做到这一点,您能否建议解决此问题的良好替代方案。
窗口系统通常独立于图形 API。在Windows上,HWND的HDC表面是渲染操作的目标,无论你使用的是DirectX还是OpenGL(或GDI+等),都是如此。若要创建 DirectX 设备,需要一个 HWND,因此,只要其消息循环与图形 API 兼容,任何可以获取所创建窗口的本机句柄的跨平台窗口系统就足够了。在Windows上使用WGL初始化OpenGL时,您需要HDC(通常从HWND获得),因此它实际上与DirectX没有任何不同。
WxWidgets(https://www.wxwidgets.org/)是一个跨平台的窗口系统,通过GLCanvas内置了对OpenGL的支持,并且可以通过获取其本机句柄(http://comp.soft-sys.wxwindows.narkive.com/D9t98DQM/direct3d-wxwidgets-do-they-play-nice-together)相当容易地适应在wxPanel上使用DirectX。
相关文章:
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 了解 GLM- openGL 中的相机转换
- 如何在全屏模式下(在OpenGL中)使背景透明
- 为什么我不能使用 EGL 创建无头 OpenGl 上下文?
- OpenGL大的3D纹理(>2GB)非常慢
- OpenGl glm rotate
- OpenGL equivalent of DirectX renderstates
- 在运行时加载OpenGL/DirectX API功能
- 绕Y轴旋转二维正方形,并使用DirectX或openGL以透视投影方式显示
- OpenGL to DirectX (Buffer To Texture To Screen)
- OpenGL到DirectX的转换-alpha混合
- 将 OpenGL 模板功能移植到 DirectX 11
- 主功能和窗口,支持 Opengl 3.0+ 和 DirectX 10+
- Opengl和DirectX视口和渲染目标
- 顶点缓冲对象的颜色- DirectX vs OpenGL
- 是否可以在directx dc/buffer上使用opengl进行绘制?
- OpenGL透视矩阵到DirectX矩阵
- 如何在不使用DirectX或OpenGL的情况下渲染游戏?
- 检查是否支持DirectX或OpenGL
- 何时使用directX以及何时使用OpenGL