Unity Shader 学习 C for Graphics
简介
C for Graphics(cg)是英伟达为编写顶点着色器、像素着色器、几何着色器和曲面细分着色器程序而创立的一种高级着色器语言.
语法
Cg 的语法类似于C编程语言,由于 NVIDIA 和 Microsoft 之间的合作,Cg 的语法非常类似于 HLSL。
- 条件编译
- #define 定义一个预处理宏
- #undef 取消宏的定义
- #if 编译预处理中的条件命令,相当于C语法中的if语句
- #ifdef 判断某个宏是否被定义,若已定义,执行随后的语句
- #ifndef 与#ifdef相反,判断某个宏是否未被定义
- #elif 若#if, #ifdef, #ifndef或前面的#elif条件不满足,则执行#elif之后的语句,相当于C语法中的else-if
- #else 与#if, #ifdef, #ifndef对应, 若这些条件不满足,则执行#else之后的语句,相当于C语法中的else
- #endif #if, #ifdef, #ifndef这些条件命令的结束标志.
- defined 与#if, #elif配合使用,判断某个宏是否被定义
参考
[1] C for Graphics - Wikipedia
[1] 条件编译#ifdef的妙用详解
关于本文
本文作者 Master Gong Sheng, 许可由 CC BY-NC 4.0.