来自DOTA2:Valve DX9-OpenGL转换大法公布
  • 上方文Q
  • 2014年03月12日 15:01
  • 0

Valve真是一家值得尊重的游戏公司,因为他们不仅仅做游戏,还致力于游戏技术的拓展,尤其是跨平台对接,比如把游戏移植到Mac OS X、Linux,再比如推出操作系统SteamOS。

近日,Valve又在GitHub上公开放出了“ToGL”的源代码。这是他们用来使其游戏支持OpenGL的一个转换层,相当于模拟了一个Direct3D 9.0c API的有限子集,然后将相关调用翻译给OpenGL。

它是直接部署在游戏代码里的,所以相当于一个开发者工具。

这种做法也是不少跨平台大作支持OpenGL的典型路子之一,因为在PC上太多游戏都是主要基于Direct3D来写代码的,很少原生支持OpenGL的渲染器。

Valve这次公布的ToGL来自他们的最新游戏《DOTA2》,而且是直接从游戏代码树里拿出来的。除了刚才说的Direct3D 9.0c有限子集,它还支持字节码(Bytecode)级别的HLSL-GLSL着色器转换器,并支持部分Shader Model 3.0的特新版,比如如今频繁使用的多渲染目标,但不支持定点纹理拾取。

Valve并没有说明这次为何要公开ToGL,但显然应该是想激励更多游戏移植到Mac OS X、Linux。开发人员可以基于BSD之类的授权自由使用这些源代码,加速游戏移植。

不过随着Windows XP即将彻底退役,剩下的Windows操作系统就都是真正DX11级别的了,今后基于DX9编写的游戏也肯定会越来越少,Valve这么做只能推动一些老游戏的移植了。

不知道Vavle有没有这种意思:反正DX9.0c要落后时代了,ToGL也鸡肋了,索性再大方点就公开了吧。

来自DOTA2:Valve DX9-OpenGL转换大法公布

 

文章纠错

  • 好文点赞
  • 水文反对
观点发布 网站评论、账号管理说明
热门评论
查看全部0条评论
相关报道

最热文章排行查看排行详情

邮件订阅

评论0 | 点赞0| 分享0 | 收藏0