opengles中的Tessellation(曲面细分)

OpenGL ES 3.2 引入了Tessellation Shader,用于在显卡上动态创建顶点和面,实现LOD效果。通过Tessellation Control Shader (TCS)、Tessellation Primitive Generator (TPG) 和 Tessellation Evaluation Shader (TES) 三个步骤完成曲面细分,减少CPU和内存负担。TCS定义细分参数,TPG实际执行细分,TES计算顶点真实坐标。
摘要由CSDN通过智能技术生成

     从opengles3.2开始,支持了一项新的特性,Tessellation Shader,这是一个新的shader,发生在顶点处理阶段,曲面细分可以在显卡上动态生成新的顶点和面,这在支持gles3.2的设备上,可以用来表现模型的lod,我们不用传输大量的顶点数据给显卡,而使显卡能够根据一定规则自动生成细节层次更多的顶点。也有应用结合高度图生成细节更加复杂的模型,因为不用再cpu这边准备高面数的模型,减轻了内存和cpu的负担,使用建模表现高模的一种硬件加速方法。


    因为支持gles3.2的设备还不多,所以还找不到太多应用这个新特性的例子,不过可以先看下3.2新的管线

可以看到早vertex shader后面新加了三道流程,Tessell Control Shader,Tessellation Primitive Generator,Tesselation Evaluation Shader。这三者共同完成曲面细分的硬件处理。

 

   1. 首先是TCS,这是一个可编程管线,但是是可选的,如果没有会使用一个默认的参数。它的输入是patch原语。我们知道原语比较典型的有点 线 三角形 四边形,在tessellation这里多了一种原语patch,一个patch不是一个点也不是一个三角形,而是一个顶点序列,这个顶点序列就是产生细分曲面的基础顶点。在这个过程中一般要定义生成多少个细分曲面,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值