支持Opengl 3.0+和DirectX 10+的主要功能和窗口

时间:2014-12-15 20:46:45

标签: c++ opengl directx game-engine directx-11

我目前正在开发游戏引擎并希望同时支持DirectX和OpenGL,但是从我的知识版本开始,directX必须使用WINAPI来打开它的窗口,但这只是一个只有windows的点。

是否有支持OpenGL和DirectX的任何一个点,并且是否有一个OpenGL和DirectX都支持的窗口库。

如果没有简单的方法,你可以建议一个好的替代这个问题。

1 个答案:

答案 0 :(得分:1)

窗口系统通常独立于图形API。在Windows上,HWND的HDC表面是渲染操作的目标,无论您使用的是DirectX还是OpenGL(或GDI +等),都是如此。要创建DirectX设备,您需要一个HWND,因此任何跨平台窗口系统都可以获得创建窗口的本机句柄,只要其消息循环与图形API兼容即可。在Windows上用WGL初始化OpenGL,你需要一个HDC(通常从HWND获得),所以它与DirectX没什么不同。

WxWidgets(https://www.wxwidgets.org/)是一个跨平台的窗口系统,通过GLCanvas内置了对OpenGL的支持,并且可以通过获取其原生句柄({{3)轻松地适应在wxPanel上使用DirectX。 }})。