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