[gpu pro2]使用曲面细分技术渲染地形和海水

内容如题,对于学习者来说更像是通过terrain与water的例子来介绍一下tesselation技术。

hardware introduction

这一段文章作者其实多此一举,在dx sdk上面介绍的很好,或者说更好,这里简记下:


  • hull shader:输出control point以及规定tesselator怎么样去细分
  • tesselator这是一个fixed stage,产生插值用的factor
  • domain shader,根据前两个阶段的输出(control point以及tesselation factor)来插值出vertex posiiton以及其他
    • control point和tesselation factor可以是一对多,所以才能细分的么
terrain&ocean
tesselation技术和terrain&water的契合度非常的高,可以以更自然更高效的方式实现geometry morphing,比
[gpu pro2]LargeScaleTerrainRenderingForOutdoorGames里的morphing计算要少很多,
这里有几点可以注意:
  • 保证在edge和point上面control point保持一致,否则会出现撕裂:
    • [gpu pro2]使用曲面细分技术渲染地形和海水_第1张图片
  • tesselation的依据除了distance之外,还可以包括camera angle,比较斜的时候可以降低细分程度来提升效率
  • 水的渲染是使用shaderx6的一个文章,
    • 公式:
    • [gpu pro2]使用曲面细分技术渲染地形和海水_第2张图片
    • 效果:

你可能感兴趣的:([gpu pro2]使用曲面细分技术渲染地形和海水)