OpenGL软件渲染替代方案

时间:2012-05-03 12:41:11

标签: windows opengl rendering

我需要在Windows中使用软件渲染OpenGL,并且已经找到了Mesa3D,它没有提供DLL,而且我有一些痛苦需要构建......是否有替代方案?

3 个答案:

答案 0 :(得分:5)

这取决于您希望加速的OpenGL版本。根据您的需求,有一些替代品可供选择。我在下面列出了我所知道的那些:

OpenGL 1.0& 1.1

Windows(自Windows NT 3.5起)实际上包含一个OpenGL software implementation。如果您还没有安装任何其他软件光栅器,这应该是您的默认实现。 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中,Microsoft包含emulation layer,可以将OpenGL转换为Direct3D;从而支持OpenGL 1.4。此外,这应该意味着Windows Vista(及其?)运行时可能会加速OpenGL SC的大多数部分。我自己从来没有使用过这个模拟器,并且听到它很惊讶,但是在Windows环境中运行这些旧框架之一的人可能会感兴趣。 请注意,标准Windows OpenGL软件光栅化器(OpenGL 1.0或1.1)也包含在Windows Vista及更高版本中。

OpenGL ES 2.0

此外,还有ANGLE project通过将OpenGL ES 2.0调用转换为DirectX 9和11来加速WebGL和OpenGL ES 2.0。他们的开发笔记还提到OpenGL ES 3.0解决方案正在开发中。从未使用过ANGLE,我无法提供判决。

OpenGL 3.1

除了上面提到的那些,Mesa 3Dwhich supports up to OpenGL 3.1)还有三个软件实现:

  • swrast
  • softpipe
  • llvmpipe

由于我对swrast(原始的Mesa项目软件光栅化器)和softpipe(参考驱动程序)知之甚少,所以我不会进入这些。第三个实现llvmpipe,可能是您最感兴趣的实现,是一个高速软件实现,它使用多线程和JIT编译来加速使用本机和SIMD指令进行仿真。

答案 1 :(得分:2)

之前我曾使用Transgaming的Swiftshader作为制作项目,我必须说,这很棒。有点贵,但很棒。

答案 2 :(得分:0)

就我搜索而言,唯一的另一个选择是使用WebGL软件渲染器,截至目前只有Chrome支持。 Direct3D有参考驱动程序(非常不稳定)和Swiftshader,它很好而且价格昂贵。

经过一些麻烦后,我设法为Windows构建Mesa3D,但只有一个旧版本仍然支持它。至少,它有一个很棒的表现。