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

相关推荐
知识分享小能手9 分钟前
React学习教程,从入门到精通, React教程:构建你的第一个 React 应用(1)
前端·javascript·vue.js·学习·react.js·ajax·前端框架
speop1 小时前
【datawhale组队学习】RAG技术 -TASK05 向量数据库实践(第三章3、4节)
数据库·学习
阿阳微客2 小时前
CSGO搬砖项目详解:从装备选择到市场策略
笔记·学习·游戏
RanceGru2 小时前
神经网络学习笔记11——高效卷积神经网络架构SqueezeNet
笔记·神经网络·学习
whale fall2 小时前
【雅思020】Opening a bank account
学习
慕伏白2 小时前
【慕伏白】CTFHub 技能树学习笔记 -- Web 之密码口令
笔记·学习
麻雀无能为力2 小时前
python 自学笔记13 numpy数组规整
笔记·python·numpy
EQ-雪梨蛋花汤3 小时前
【Unity&AS】Unity & Android Studio 联合开发快速入门:环境配置、AAR 集成与双向调用教程
unity·游戏引擎·android studio
long3164 小时前
状态设计模式
java·学习·程序人生·设计模式·状态模式·state-pattern