Shader 常用记录

ShaderLab 属性类型和CG变量类型关率


关键字: Color,Vector   CG: float3 half4 fixed4
关键字: Range,Float    CG: float half,fixed
关键字:2D             CG: sampler2D
关键字:Cube             CG: samplerCube
关键字:3D CG: sampler3D
(uniform fixed3 _Color ,uniform仅作为变量初始值的相关信息作用不大)




unity 常用包含文件
UnityCG.cginc   包含常用使用的帮助函数,宏和结构体等
UnityShaderVariables.cginc 在编译Unity Shader时,会被自动包含进来,包含了许多内置的全局变量,如UNITY_MATRIX_MVP等
Lighting.cginc   包含了各种内置光照模型,如果编写的是Surface Shader的话,会自动包含进来
HLSLSupport.cginc 在编译Unity Shader时,会被自动包含进来,声明了很多用于跨平台编译的宏和定义






UnityCG.cginc常用结构体
appdata_base 顶点着色器输入 (顶点位置,顶点法线,第一线纹理坐标)
appdata_tan  顶点着色器输入  (顶点位置,顶点切线,顶点法线,第一组纹理坐标)
appdata_full 顶点着色器输入  (顶点位置,顶点切线,顶点法线,四组纹理坐)
appdata_img  顶点着色器输入  (顶点位置,第一线纹理坐标)
v2f_img      顶点着色器输出  (裁剪空间的位置,纹理坐标)


UnityCG.cginc常用帮助函数
float3 WorldSpaceViewDir(float4 v)  (输入顶点位置,返回世界空间中从该点到摄像机的观察方向
float3 ObjSpaceViewDir(float4 v) (输入顶点坐标,返回模型空间中从该点到摄像机的观察方向A)
float3 WorldSpaceLightDir(float4 v)  (仅可用于前向演染中,输入顶点坐标,返回世界空间中从该点到光源的光照方向,没有被归一化)
float3 ObjSpaceLightDir(float3 v)    (仅可用于前向渲染中,输入一个模型空间中的顶点坐标,返回模型空间中从该点到光源的光照方向,没有被归一化)
float3 UnityObjectTOWorldNormal(float3 norm)  (把法线方向从模型空间转换到世界空间中)
float3 UnityObjectToWorldDir(int float3 dir) (把方向矢量从模型空间变换到世界空间中)
float3 UnityWorldToObjectDir(float3 dir) (把方向矢量从世界空间变抽象到模型空间中)




传入到顶点着色器中的模型顶点数据 UNITY常用支持语义
POSITION   模型空间中的顶点坐标 通常是float4
NORMAL     顶点法线 通常是float3类型
TANGENT    顶点切线 通常是float4类型
TEXCOORD   该顶点的纹理坐标, 通常是float2或者float4类型
COLOR      顶点颜色 通常是fixed4或float4类型


传入到片元着色器(又可以叫做顶点着色器的输出) UNTIY常用支持语义
SV_POSITION  裁剪空间中的顶点坐标,结构体中必须包含到一个用该语义修饰的变量,
COLOR0       通常用于输出第一组顶点颜色,
COLOR1       通常用于输出第二组顶点颜色
TEXCOORD0-TEXCOORD7   通常用于输出纹理坐标


片元着色器输出数据  UNTIY常用支持语义
SV_Target   输出值将会存储到渲染目标中,等同于DirectX9中的COLOR语义,但最好使用SV_Target
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值