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

相关推荐
吃好睡好便好5 小时前
用while循环语句求和
开发语言·学习·算法·matlab·信息可视化
摇滚侠5 小时前
Java 零基础全套教程,集合框架,笔记 153-163
java·开发语言·笔记
ゆづき6 小时前
计算机数据存储全解:从底层进制转换到存储介质演进
笔记·学习·生活
小+不通文墨6 小时前
树莓派玩转EMQX的常用指令清单
经验分享·笔记·学习
kdxiaojie7 小时前
U-Boot分析【学习笔记】(12)
linux·笔记·学习
吃好睡好便好7 小时前
用for循环语句求和
开发语言·人工智能·学习·matlab·学习方法
玄米乌龙茶1238 小时前
LLM成长笔记(五):提示词工程与模型调用
人工智能·笔记
不会编程的懒洋洋8 小时前
VisionPro 中 几何相交工具 Geometry-Intersection
图像处理·笔记·c#·视觉检测·机器视觉·visionpro
_李小白8 小时前
【C++学习笔记】新特性之inline变量
c++·笔记·学习
心中有国也有家8 小时前
hccl 架构拆解:昇腾集合通信库到底在做什么?
人工智能·经验分享·笔记·分布式·算法·架构