Advertisement

tessellation(三角化)

阅读量:

在进行实时渲染时,由于带宽和效率等因素的限制,通常不会采用面数极高的高精度模型进行建模。然而,又希望呈现出细节丰富的场景,该如何应对呢?常见的解决方案包括动态纹理、法向量纹理以及曲面细分等技术。本文重点介绍曲面细分技术,在DX11渲染管线中通过三个阶段实现该功能,其核心在于利用GPU内部的硬件加速机制动态生成顶点。具体而言:

Hull shader:负责细分前的预处理工作,用于设定细分规则及生成逻辑。

Tessellator:根据Hull shader所提供的规则执行具体的细分操作。

Domain shader:Tessellator会生成对应的顶点与线段,但这些顶点是相对于控制点进行定义的,并采用(U,V,W)坐标系统。此阶段则对这些顶点进行进一步的处理。

(或许由于涉及硬件层面的非通用计算特性,才需要设计出三个阶段及两个着色器来完成这一功能。若能通过单一API调用实现,则更为理想)

如果在使用tess过程中出现失败的情况,请首先检查是否其他部分未正确应用tess功能,这应作为首要排查方向。

该图表明确展示了曲面细分的完整流程。

1.HS input:初始阶段并非直接

全部评论 (0)

还没有任何评论哟~