Unity Shader unity文档学习笔记(二十一):几种草体的实现方式(透明度剔除,GPU Instaning, 曲面细分+几何着色器实现)

1.透明度剔除(性能较差,不同颜色时需要不同材质会导致多个dc)

clip(_Color.a - _Cutoff); 传入值为0时 剔除

类似的草体效果:

2.GPU Instaning(可以自定义一次性合批最多1023个,能够传递颜色值等等(做草体融入地形等等效果),不会额外产生DC)

Graphics.DrawMeshInstanced

效果:

3.曲面细分+几何着色器实现(适合大世界,方式2如果是大世界的话 草体数据会非常多,不太适用)

了解一下渲染管线

主要是在红框的阶段处理

曲面细分着色器(用来增加顶点):

几何着色器:

对每个顶点进行操作,可以修改一整个三角形(和顶点着色器的区别是:顶点是只能改一个独立的顶点,这个是改一整个独立的三角形或者四边形),输出一个草体三角形

曲面细分+几何着色器结合:

调整曲线细分次数:

细分次数2

细分次数5

参考:

Grass Shader翻译及实现(草地渲染): Grass Shader翻译及实现(草地渲染)

曲面细分和几何着色器链接:链接: 【百人计划】图形 3.3 曲面细分与几何着色器 大规模草渲染

相关推荐
SmalBox6 小时前
【光照】[漫反射diffuse]以UnityURP为例
unity·渲染
使一颗心免于哀伤9 小时前
《设计模式之禅》笔记摘录 - 21.状态模式
笔记·设计模式
SmalBox1 天前
【光照】[自发光Emission]以UnityURP为例
unity·渲染
SmalBox2 天前
【光照】Unity中的[经验模型]
unity·渲染
_落纸2 天前
三大基础无源电子元件——电阻(R)、电感(L)、电容(C)
笔记
Alice-YUE2 天前
【CSS学习笔记3】css特性
前端·css·笔记·html
2303_Alpha2 天前
SpringBoot
笔记·学习
萘柰奈2 天前
Unity学习----【进阶】TextMeshPro学习(三)--进阶知识点(TMP基础设置,材质球相关,两个辅助工具类)
学习·unity
沐矢羽2 天前
Tomcat PUT方法任意写文件漏洞学习
学习·tomcat
好奇龙猫2 天前
日语学习-日语知识点小记-进阶-JLPT-N1阶段蓝宝书,共120语法(10):91-100语法+考え方13
学习