是否提供从DirectX到OpenGL的映射的任何工具和/或文档?如果您必须进行转换,您将如何处理它,以及您将如何使用?将DirectX代码转换为OpenGL的工具/资源
我知道ATI Technologies提供HLSL2GLSL,但我的理解是,这只是为了着色器语言而不是API的全面覆盖。
是否提供从DirectX到OpenGL的映射的任何工具和/或文档?如果您必须进行转换,您将如何处理它,以及您将如何使用?将DirectX代码转换为OpenGL的工具/资源
我知道ATI Technologies提供HLSL2GLSL,但我的理解是,这只是为了着色器语言而不是API的全面覆盖。
很久以前,在游戏中使用了专有的OpenGL-to-DirectX封装器,这些封装器就像单个DLL暴露(子)OpenGL命令集一样简单。另一方面,使用OpenGL伪造DirectX(Direct3D)可能会更困难,因为您必须支持整个COM事物。所以我想你将不得不复制所需的接口,然后才写出实际的包装。
我也想知道葡萄酒。是否需要将DirectX调用转换为OpenGL才能在Mac上运行?如果是这样,我想我可能会通过检查它是如何做到的。 – Buggieboy 2010-01-26 18:45:28
我认为是的,WINE可以将DirectX转换成OpenGL,否则我无法想象游戏如何在它下面工作。 – 2010-01-27 08:42:39
+1用于提及irrlicht – 2010-01-26 18:37:53
源应用程序实际上使用Allegro,它在Windows上使用DirectX,而我不确定在其他平台上发生什么但显然不是OpenGL。我对Allegro的“opengl”资源进行了严格的处理,并且没有点击,这就是我说的原因。 Allegro可能在下一个版本中使用OpenGL,用于非Windows,但目前我认为它没有。如果是这样,我会被设置。 – Buggieboy 2010-01-26 18:43:12
如果您使用的是Allegro,您可以添加AllegroGL以支持OpenGL:http://wiki.allegro.cc/index.php?title=AllegroGL如果您移动到最新版本(4.9+),它将支持OpenGL盒子。 – 2010-01-26 18:53:20