快讯

真DX11架构 Tessellation技术深度解析

2010-07-29 00:06  出处:PConline原创  作者:XP   责任编辑:liujie 

 

第3页:——Tessellation工作流程解析

◆ Tessellation工作流程

    DirectX 11 Tessellation的处理单元我们称之为Tessellator单元,Tessellator单元本身不具备可编程性,因此DirectX11向tesselator单元输入或者从中输出的过程是通过两个传统的管线阶段完成的:Hull Shader (HS,外壳着色器)和Domain Shader (DS,域着色器)。

1

 

    Hull Shader负责接收琐碎的图形数据和资料,而control points将会基于如何配置Tessellator来产生数据。这些琐碎的图形数据和资料会形成一个新的primitive单元(类似于顶点单元和像素单元),这种primitive单元可以将平面的一段分块处理。Control points用来定义想要得到的图形(比如说一个曲面或者其他)的图形参数变量。如果您经常用Photoshop绘图软件的话,不妨把Control points理解为PS的钢笔工具:用平面代替线的贝塞尔曲线功能。Hull Shader采用control points来决定如何安排tessellator处理数据,利用Tessellator生成大批量的、确定数量的点,然后将数据传送给Domain Shader,Domain Shader将这些点转换成3D处理中的顶点,最后GPU生成曲线以及多边形。

2

 

    Tessellator只负责分块处理。Tessellator将Hull Shader基于某种参数而传送给自己的琐碎图形数据和资料分离成点,再将分离出来的一系列点发送给Domain Shader,后者将会完成这些点到图形的过程的处理。那么,编程人员就得为他们的代码编写Hull Shader程序,而不需要考虑TS的变成任务。可以说,Tessellator就是一个固定功能模块,用来处理一些基于一定参数的输入数据。

3

 

    Domain Shader将会接收由Tessellator产生出的点,并依照终点控制(control points)置换贴图将这些点形成一个合适的几何图形。Domain Shader通过运行开发者设计的DS程序来执行这些操作,这些DS程序控制这些新产生的点如何转移或者如何按照终点控制以及纹理渲染取代这些数据。处理完毕这些点之后,Domain Shader将会输出一个个顶点。我们很可能就会看到大量Domain Shader输出并直接进行光栅化,以便几何图形可以分散到屏幕上进行像素处理。

键盘也能翻页,试试“← →”键
IT热词搜索 来源:360新闻