其他分享
首页 > 其他分享> > 第5篇 Shader的组织和优化 - Unity 3D ShaderLab开发实践

第5篇 Shader的组织和优化 - Unity 3D ShaderLab开发实践

作者:互联网

第5篇 Shader的组织和优化 - Unity 3D ShaderLab开发实践

chapter 30 shader的组织和复用

1 通过cginc文件实现复用,可以定制自己的cginc文件,然后通过#include包含进来,实现shader代码的复用。

2 可以通过UsePass实现复用:

Shader "Test" {
SubShader {
	UsePass "Test/My"
}
}

3 定义自己的Shader关键字,运行时更改关键字改变shader行为

shader代码如下:

image

脚本中的代码如下:

image

chapter 31 必须知道的渲染概念

chapter 32 基于渲染路径的优化

一定不要在ForwardAdd中计算除了_WorldSpaceLightPos0之外的任何光源,这是非常耗时的事情。

针对Deferred渲染路径,它必然是逐像素进行的。

chapter 33 移动平台上的优化

对于tex2D/texCUBE指令,在移动平台上,一个读取贴图的指令和一个普通的数学运算指令消耗大概相差至少一个数量级;在PC平台,这个差别更大,大概在两个数量级以上。

对于mipmaps的选项,如果游戏是3D,一定要打开mipmaps选项。慎用后期效果,慎用透明效果。

标签:chapter,渲染,shader,Shader,Unity,计算,ShaderLab
来源: https://www.cnblogs.com/grass-and-moon/p/15271935.html