这世界不存在未知的事物,只存在未被认知的事物
关于Shader的Built-in宏定义
首先,
终于可以套用同事那句话了,它(学历不高,实战派)说过类似的话,谁TM一开头就说.cginc方便调用,直接回他,沙雕
其次,
某博主说,某个网易艺术总监的Shader写的好啊,快学起来,看清楚!!!,是艺术!!一个专家不是程序员,而人家也没说,你偏要说人家Shader代码写的好,你这不是黑人家吗
其实分析宏或者keyword有其他很多方法和工具
这个我前几篇说了
虽然,还是老样子,没说明白,也没说透
不过,这里就还只能继续深入,一起学习下官方默认Built-in的宏
(分析了很久,看了很多文章,无果,还不如动手写写)
这也是传统黑盒分析法
好记性不如烂笔头
练习例子
随便创建一个Shader,写上代码
#pragma multi_compile_fog
#include "UnityCG.cginc"
#define SHADER_API_D3D11
//#define SHADER_API_XBOXONE
报错代码,只是不知道哪里定义了这个宏
//#define SHADER_API_D3D11
#define SHADER_API_XBOXONE
反写,不报错代码
练习结果:
SHADER_API_D3D11 有被定义,尽管我在Editor选择了Android平台,但毕竟win10下的Editor
而_XBOX没被定义
找个mac mini测试一下,