是否提供從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