OpenGL软件渲染替代方案

6

我需要在Windows上进行OpenGL软件渲染,已经找到了关于Mesa3D的信息,但它没有提供DLL文件,而我在构建方面遇到了一些问题... 是否有其他可用的选择?

3个回答

6
这取决于你想加速哪个OpenGL版本。根据你的需求,有一些可供选择的替代方案。我列出了我知道的以下替代方案: OpenGL 1.0和1.1 Windows(自Windows NT 3.5以来)实际上已经包括了一个OpenGL 软件实现。如果你没有安装任何其他软件光栅化器,那么这应该是你的默认实现。Microsoft软件光栅化器支持OpenGL 1.0或1.1,具体取决于你的平台,但不会加速比这更新的任何内容。如果你需要的OpenGL版本被1.0或1.1覆盖(尽管可能性很小),那么这个解决方案应该足够。我不确定默认的Windows OpenGL软件实现通过其OpenGL 1.0或1.1支持在多大程度上涵盖了OpenGL ES 1.x框架。 OpenGL 1.4 此外,在Windows Vista中,微软还包含了一个仿真层,可以将OpenGL翻译成Direct3D;从而支持高达OpenGL 1.4。此外,这也意味着Windows Vista(以及更高版本?)的运行时可以加速大部分OpenGL SC的部分。我自己从未使用过这个仿真器,听到它的时候感到非常惊讶,但对于需要在Windows环境下运行这些旧框架的人来说,可能会很有用。请注意,标准的Windows OpenGL软件光栅化器(OpenGL 1.0或1.1)也包含在Windows Vista及以上版本中。 OpenGL ES 2.0 此外,还有ANGLE项目,它通过将OpenGL ES 2.0调用转换为DirectX 9和11来加速WebGL和OpenGL ES 2.0。他们的开发说明也提到正在开发一个OpenGL ES 3.0的解决方案。由于我从未使用过ANGLE,无法做出评价。
除了上面提到的内容之外,Mesa 3D支持OpenGL 3.1)还具有三种软件实现:
- swrast - softpipe - llvmpipe 由于我对swrast(原始Mesa项目软件光栅化器)和softpipe(参考驱动程序)知之甚少,所以我不会详细介绍这些内容。第三个实现,llvmpipe,可能是最让您感兴趣的,它是一种高速软件实现,使用多线程和JIT编译来加速模拟,具有本地和SIMD指令。

2

我之前在一个生产项目中使用了Transgaming的Swiftshader,必须说它非常出色。虽然有点贵,但真的很出色。


是的,我已经测试了Swiftshader,它非常棒...但也很昂贵! 3D不是我们的核心业务,这就是为什么我正在寻找OpenGL的原因... - Bruno Kim
不,我想不到其他免费的替代方案了。也许Mesa3D论坛上的某个人可以帮助您构建适用于Windows的工作二进制文件。 - Ani
1
Swiftshader已经被谷歌开源了:https://blog.chromium.org/2016/06/universal-rendering-with-swiftshader.html - DirtY iCE

0
据我所搜寻,唯一的选择是使用WebGL软件渲染器,目前只有Chrome支持。Direct3D有参考驱动程序(非常不稳定),还有Swiftshader,质量很好但价格昂贵。
经过更多的头痛,我终于成功在Windows上构建了Mesa3D,但只是一个旧版本,仍然有一些支持。至少,它具有出色的性能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接