内置着色器包含文件

Unity包含了好几个文件,这些文件可以在你自己的shader 程序中使用,提供预定义的变量和功能函数。这个操作通过标准的指令 :#include来引入。

CGPROGRAM
// ...
#include "UnityCG.cginc"
// ...
ENDCG

着色器包含文件在unity中以.cginc扩展名结尾,内置的为:

  • HLSLSupport.cginc - (自动包含)用于跨平台着色程序编译的帮助宏和定义。
  • UnityShaderVariables.cginc - (自动包含)常用的全局变量。
  • UnityCG.cginc - 常用的功能函数。
  • AutoLight.cginc - 光照& 阴影功能,比如,表面着色器内部就使用这个文件。
  • Lighting.cginc - 标准的表面着色器 光照模型;当你使用表面着色器时,自动包含。
  • TerrainEngine.cginc -  地形& 植物 的功能函数。

这些文件在Unity应用中都可以找到,路径:{unity安装路径}/Data/CGIncludes/UnityCG.cginc on Windows, /Applications/Unity/Unity.app/Contents/CGIncludes/UnityCG.cginc on Mac

HLSLSupport.cginc

这个文件在你编写 CGPROGRAM shader的时候自动包含(但是在HLSLPROGRAM时不自动包含)。它声明了各种预处理器宏来帮助多平台着色器开发。

UnityShaderVariables.cginc

这个文件在你编写 CGPROGRAM shader的时候自动包含(但是在HLSLPROGRAM时不自动包含)。它声明多种多样的内置全局变量。

UnityCG.cginc

这个文件经常被包含到UnityShader中。它声明了许多内建的功能函数和数据结构:

Data structures in UnityCG.cginc
  • 结构 appdata_base: 顶点着色器 输入 位置、法线、一个贴图坐标
  • 结构 appdata_tan: 顶点着色器 输入 位置、法线、切线、一个贴图坐标
  • 结构 appdata_full: 顶点着色器 输入 位置 法线、他切线、顶点颜色和两个贴图坐标
  • 结构 apdata_img: 顶点着色器 输入 位置和一个贴图坐标

 

转载于:https://www.cnblogs.com/leiGameDesigner/p/8456861.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值