我目前正在开发游戏引擎并希望同时支持DirectX和OpenGL,但是从我的知识版本开始,directX必须使用WINAPI来打开它的窗口,但这只是一个只有windows的点。
是否有支持OpenGL和DirectX的任何一个点,并且是否有一个OpenGL和DirectX都支持的窗口库。
如果没有简单的方法,你可以建议一个好的替代这个问题。
答案 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。 }})。