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 曲面细分与几何着色器 大规模草渲染

相关推荐
FFF团团员9092 分钟前
树莓派学习笔记6:摄像头的基本使用
笔记·学习
d111111111d12 分钟前
在SM32F103C8T6中MCU和MPU的区别,都有什么各自的优点,缺点,都可以用来干什么。
笔记·stm32·单片机·嵌入式硬件·学习
sindyra18 分钟前
Unity UGUI 之 Canvas Scaler
unity·游戏引擎
solicitous31 分钟前
QA和测试得区别
学习
wan55cn@126.com36 分钟前
人生如戏:换个片场,继续出演
人工智能·笔记·百度·微信
盐焗西兰花1 小时前
鸿蒙学习实战之路:Dialog 组件封装最佳实践
学习·华为·harmonyos
van久1 小时前
.NET Core 学习第二天:Razor Pages 新建页面及增删改查
学习·.netcore
QT 小鲜肉1 小时前
【孙子兵法之中篇】009. 孙子兵法·行军篇
人工智能·笔记·读书·孙子兵法
铅笔侠_小龙虾1 小时前
Vue 学习目录
前端·vue.js·学习
LO嘉嘉VE1 小时前
学习笔记二十五:支持向量机-核函数
笔记·学习·支持向量机