[关闭]
@sssunny 2021-11-01T07:30:54.000000Z 字数 861 阅读 128

shader 学习笔记

shader


图形变换之基本矩阵变换
unity Shader 内置函数
Unity Shader-法线贴图(Normal)及其原理
Unity Shader Tags
Unity shader-切线空间

UNITY_INITIALIZE_OUTPUT(type,name) –此宏用于将给定类型的名称变量初始化为零
tex2D(sampler2D tex, float2 s) 函数,这是CG程序中用来在一张贴图中对一个点进行采样的方法,返回一个float4。这里对 _MainTex在输入点上进行了采样,并将其颜色的rbg值赋予了输出的像素颜色,将a值赋予透明度。于是,着色器就明白了应当怎样工作:即找到贴图上 对应的uv点,直接使用颜色信息来进行着色

struct appdata_base {
    float4 vertex : POSITION;//顶点位置
    float3 normal : NORMAL;//发现
    float4 texcoord : TEXCOORD0;//纹理坐标
    UNITY_VERTEX_INPUT_INSTANCE_ID
};

struct appdata_tan {
    float4 vertex : POSITION;
    float4 tangent : TANGENT;//切线
    float3 normal : NORMAL;
    float4 texcoord : TEXCOORD0;
    UNITY_VERTEX_INPUT_INSTANCE_ID
};

struct appdata_full {
    float4 vertex : POSITION;
    float4 tangent : TANGENT;
    float3 normal : NORMAL;
    float4 texcoord : TEXCOORD0;
    float4 texcoord1 : TEXCOORD1;//第二纹理坐标
    float4 texcoord2 : TEXCOORD2;//第三纹理坐标
    float4 texcoord3 : TEXCOORD3;//第四纹理坐标
    fixed4 color : COLOR;//顶点颜色
    UNITY_VERTEX_INPUT_INSTANCE_ID
};
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注