【问题标题】:What is tile based deferred rendering and what is its advantage?什么是基于图块的延迟渲染,它的优势是什么?
【发布时间】:2014-04-26 14:28:58
【问题描述】:

我读过这个概念here

但我没有得到这部分:“延迟渲染器的关键优势在于它非常有效地访问内存。将渲染分区为图块允许 GPU 更有效地缓存来自帧缓冲区的像素值,从而产生深度测试和混合更有效。”

基于图块的渲染是否并行发生?由不同的内核一次渲染多个图块?

另外,普通的基于瓦片的渲染有什么优势?

编辑:此文档已停用,因为 Apple 已弃用“OpenGL-ES”。相反,它使用金属。

【问题讨论】:

    标签: opengl graphics gpu gpgpu


    【解决方案1】:

    Apple 在该页面上讨论的移动 GPU 将包含少量内存,这些内存物理上位于 GPU 芯片上,因此访问速度非常快。通过将渲染目标拆分为足够小以适合此内存的图块,并一次处理这些图块,我们最大限度地减少了与较慢主内存的交互量 - 而不必获取、测试、混合等深度缓冲区和当我们光栅化三角形时,每个三角形中每个像素的颜色缓冲区值,我们将瓦片光栅化到快速内存中,并在完成后将每个瓦片的最终光栅写入主内存。

    此外,使用基于 tile 的延迟渲染器,我们不会光栅化任何三角形,直到我们计算出哪些三角形对 tile 中的每个像素/四边形可见,因此我们最终只对那些有助于最终场景的像素进行着色。

    即使在不延迟光栅化和/或我们较少受主内存性能限制的平台上,基于图块的渲染还有其他潜在好处与剔除、可见性测试和内存访问的局部性有关。 This article 与您的要求有些相近,但可能有助于您更好地了解这些一般优势,同时深入描述现代光栅化器的工作原理。

    【讨论】:

    • 所以你的意思是我们在这里使用早期的z-killing技术?另外,早期z-killing有什么限制吗?您能否详细说明一下:“此外,使用基于切片的延迟渲染器,我们不会光栅化任何三角形,直到我们计算出切片中每个像素/四边形的哪些三角形可见”
    【解决方案2】:

    3D 渲染的一个主要优化是隐藏表面剔除。如果这是在着色之前完成的,则处理的片段数会减少,整体性能也会提高。

    基于图块的渲染拆分场景在图块中(在硬件端)并计算渲染时屏幕上将出现的图块,并仅对这些图块进行进一步计算。

    hidden surface techniques

    【讨论】:

      猜你喜欢
      • 2011-09-03
      • 2021-12-25
      • 2010-09-06
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      • 2014-08-03
      • 2015-03-05
      • 1970-01-01
      相关资源
      最近更新 更多