【问题标题】:OpenGL software rendering alternativesOpenGL 软件渲染替代方案
【发布时间】:2012-05-12 23:32:02
【问题描述】:

我需要在 Windows 中软件渲染 OpenGL,并且已经找到了关于 Mesa3D 的信息,它不提供 DLL,而且我在构建时遇到了一些麻烦...是否有可用的替代方案?

【问题讨论】:

    标签: windows opengl rendering


    【解决方案1】:

    这取决于您希望加速的 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 3D (which supports up to OpenGL 3.1) 还具有三种软件实现:

    • 斯拉斯特
    • 软管
    • llvmpipe

    由于我对 swrast(最初的 Mesa 项目软件光栅化器)和 softpipe(参考驱动程序)知之甚少,因此我将避免讨论这些内容。第三个实现,llvmpipe,可能也是您最感兴趣的一个,它是一种高速软件实现,它使用多线程和 JIT 编译来加速本地和 SIMD 指令的仿真。

    【讨论】:

      【解决方案2】:

      我之前曾在 Transgaming 的生产项目中使用过 Swiftshader,我必须说,这太棒了。有点贵,但很棒。

      【讨论】:

      • 是的,我已经测试过 Swiftshader,它很棒……而且很贵! 3D 不是我们的核心业务,这就是我寻找 OpenGL 的原因...
      • 不,想不出任何其他免费的替代品。也许 Mesa3D 论坛上的某个人可以帮助您构建适用于 Windows 的二进制文件。
      • Swiftshader 同时被 google 开源:blog.chromium.org/2016/06/…
      【解决方案3】:

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

      经过一番头疼之后,我设法为 Windows 构建了 Mesa3D,但只有一个旧版本仍然支持它。至少,它的性能很棒。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-29
        • 1970-01-01
        • 2020-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多