OpenGL 中 Direct3D 11.1 的目标独立光栅化 (TIR) 等效项(包括扩展)



与目标无关的栅格化(TIR)是DirectX 11.1中的一个新的硬件特性,微软用它来改进Windows 8中的Direct2D。AMD声称,TIR将2D矢量图形的性能提高了约500%。有一些"口水战"。因为开普勒gpu显然不支持TIR(以及其他DirectX 11.1功能)。TIR的想法似乎起源于微软,因为他们有一项专利申请。

现在Direct2D是好的,你的操作系统是Windows,但是否有一些OpenGL(可能供应商/AMD)扩展,提供访问相同的硬件/驱动程序TIR的东西?我认为AMD的处境有点奇怪,因为它没有针对OpenGL的独立于供应商的2D矢量图形扩展;目前只有Nvidia在推广NV_path_rendering,它的架构与Direct2D有很大的不同。因此,不像Direct2D+Direct3D,我们还不清楚AMD为加速2D矢量图形所做的任何事情可以在OpenGL中插入(或显示)。我希望我的悲观情绪将被下面一个简单的答案解开。

我实际上在这里发布了一个更新,因为在评论风格的帖子中没有足够的空间。对于TIR的作用似乎有一点混淆,它不仅仅是"一个没有附加存储的帧缓冲区"。这可能是因为我只链接了上面最糟糕的专利(但这是我在TIR上能找到的最详细的文件)。我找到的关于TIR的最佳高级概述是Sinofsky博客文章中的以下片段:

在渲染不规则几何(例如地图上的地理边界)时,为了提高性能,我们使用了一种新的图形硬件特性,称为目标独立光栅化,或TIR。

TIR使Direct2D在镶嵌上花费更少的CPU周期,因此它可以更快更有效地向GPU提供绘图指令,而不会牺牲视觉质量。TIR在支持DirectX 11.1的Windows 8新GPU硬件中可用。

下面的图表显示了在支持TIR的DirectX 11.1 GPU上从各种SVG文件中渲染抗锯齿几何图形的性能改进:

我们与图形硬件合作伙伴(AMD)密切合作来设计TIR。由于这种伙伴关系,取得了巨大的进步。DirectX 11.1硬件今天已经上市,我们正在与我们的合作伙伴合作,确保更多具有tir功能的产品将被广泛使用。

这是我要求从OpenGL中使用的这一点硬件。(见鬼,我甚至会满足于从Mantle调用它,因为这也将在Windows之外可用。)

与TIR等价的OpenGL是EXT_raster_multisample

在Nvidia的Maxwell架构的新功能页面中提到:https://developer.nvidia.com/content/maxwell-gm204-opengl-extensions.

我相信TIR只是重新利用了nvidia和AMD用于抗锯齿的功能。

Nvidia称之为覆盖样本抗锯齿,他们的gl扩展是GL_NV_framebuffer_multisample_coverage。

AMD称其为EQAA,但他们似乎没有gl扩展名

就Nikita的回答展开一点,有一个更详细的Nvidia(2017)扩展页面说:


(6) How do EXT_raster_multisample and NV_framebuffer_mixed_samples
    interact? Why are there two extensions?
    RESOLVED: The functionality in EXT_raster_multisample is equivalent to
    "Target-Independent Rasterization" in Direct3D 11.1, and is expected to be
    supportable today by other hardware vendors. It allows using multiple
    raster samples with a single color sample, as long as depth and stencil
    tests are disabled, with the number of raster samples controlled by a
    piece of state.
    NV_framebuffer_mixed_samples is an extension/enhancement of this feature
    with a few key improvements:
     - Multiple color samples are allowed, with the requirement that the number
       of raster samples must be a multiple of the number of color samples.
     - Depth and stencil buffers and tests are supported, with the requirement
       that the number of raster/depth/stencil samples must all be equal for
       any of the three that are in use.
     - The addition of the coverage modulation feature, which allows the
       multisample coverage information to accomplish blended antialiasing.
    Using mixed samples does not require enabling RASTER_MULTISAMPLE_EXT; the
    number of raster samples can be inferred from the depth/stencil
    attachments. But if it is enabled, RASTER_SAMPLES_EXT must equal the
    number of depth/stencil samples.

最新更新