正常渲染代码段+效果段
各个shader的正常渲染部分是重复的
美术同学自由切换效果
Uber Shader
在一个Shader 实现自由切换效果的
3种方法:
1.静态分支 ======》#if
2.动态分支 =======> if
3.着色器变体 =============>#pragma
-------------------------------------------------------------------------------
如何选择???????????????????????
三种用法的方法概念:
1。编译时
#define
#if defined
只能手写,shader graph不行
只会编译一个分支到源文件
裁剪没有编译的分支
--------------------------------------------------------------------------------
2. 运行时
shader graph =>branch节点
不会造成代码膨胀
产生计算开销
---------------------------------------------------------------------------------
3.空间换时间
静态分支的加强
编译时 生成多个静态分支的着色器版本
手写的
Shader Variants
Shader KeyWords
Shader Graph 连连看的
Shader states
keyword node
各个shader的正常渲染部分是重复的
美术同学自由切换效果
Uber Shader
在一个Shader 实现自由切换效果的
3种方法:
1.静态分支 ======》#if
2.动态分支 =======> if
3.着色器变体 =============>#pragma
-------------------------------------------------------------------------------
如何选择???????????????????????
三种用法的方法概念:
1。编译时
#define
#if defined
只能手写,shader graph不行
只会编译一个分支到源文件
裁剪没有编译的分支
--------------------------------------------------------------------------------
2. 运行时
shader graph =>branch节点
不会造成代码膨胀
产生计算开销
---------------------------------------------------------------------------------
3.空间换时间
静态分支的加强
编译时 生成多个静态分支的着色器版本
手写的
Shader Variants
Shader KeyWords
Shader Graph 连连看的
Shader states
keyword node