OpenGL软件渲染替代方案

Bru*_*Kim 5 windows opengl rendering

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

Cat*_*lar 5

这取决于您希望加速的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中,Microsoft包含一个仿真层,可以将OpenGL转换为Direct3D; 从而支持OpenGL 1.4.此外,这应该意味着Windows Vista(及其?)运行时可能会加速OpenGL SC的大多数部分.我自己从来没有使用过这个模拟器,并且听到它很惊讶,但是在Windows环境中运行这些旧框架之一的人可能会感兴趣.请注意,Windows Vista及更高版本中还包含标准Windows OpenGL软件光栅化器(OpenGL 1.0或1.1).

OpenGL ES 2.0

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

OpenGL 3.1

除了上面提到的那些,Mesa 3D(它支持OpenGL 3.1)具有三个软件实现:

  • swrast
  • softpipe
  • llvmpipe

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


Bru*_*Kim 0

据我搜索,唯一的其他选择是使用 WebGL 软件渲染器,目前只有 Chrome 支持。Direct3D有参考驱动程序(确实不稳定)和Swiftshader,很好但很贵。

经过一些更令人头疼的事情之后,我成功地为 Windows 构建了 Mesa3D,但只是一个仍然有一些支持的旧版本。至少,它的性能很棒。