独立于目标的光栅化(TIR)是DirectX 11.1中的一个新的hardware功能,Microsoft used to improve Direct2D in Windows 8 . AMD声称TIR improved performance in 2D vector graphics by some 500% . 并且有一些"war of words"与Nvidia的,因为Kepler GPUs apparently don't support TIR (among other DirectX 11.1 features) . TIR的想法似乎起源于微软,因为他们有一个patent application for it .
现在Direct2D很好你的操作系统是Windows,但是有一些OpenGL(可能是供应商/ AMD)扩展,可以访问相同的硬件/驱动程序TIR吗?我认为AMD有点奇怪,因为OpenGL没有独立于供应商的2D矢量图形扩展;只有Nvidia现在推广NV_path_rendering,它的架构是rather different from Direct2D . 所以目前还不清楚AMD在加速2D矢量图形方面所做的任何事情都可以在OpenGL中插入(或显示),这与Direct2D Direct3D世界不同 . 我希望通过下面的简单答案解开我的悲观情绪 .
我实际上在这里发布了一个 update ,因为那里只有's not enough room in comment-style posts for this. There seems to be a little confusion as to what TIR does, which is not simply 1468628 . This might be because I' ve链接到了最可怕的专利(这是我在TIR上可以找到的最详细的文件) . 我找到的最好的TIR高级概述是Sinofsky's blog post的以下片段:
为了在渲染不规则几何体(例如 Map 上的地理边界)时提高性能,我们使用称为目标独立光栅化(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之外使用 . )
2 回答
你想要的是ARB_framebuffer_no_attachment,它允许你创建一个没有附加存储空间的帧缓冲区 . 在渲染到这样的帧缓冲区时,您需要使用图像加载/存储扩展来写入缓冲区 . AMD和NVIDIA的最新硬件都支持此扩展,如下所示:http://delphigl.de/glcapsviewer/listreports2.php?listreportsbyextension=GL_ARB_framebuffer_no_attachments
我相信TIR只是对nvidia和AMD用于抗锯齿的功能的再利用 .
Nvidia calls it coverage sample antialiasing及其gl扩展名为GL_NV_framebuffer_multisample_coverage .
AMD calls it EQAA但他们似乎没有gl扩展 .