初面网初面网

Shader案例

Shader "MyShader/BaseShader"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        LOD 100

        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            float4 vert(float4 v:POSITION): SV_POSITION
            {
                return UnityObjectToClipPos(v);
            }

            fixed4 frag():SV_Target
            {
                return fixed4(1,1,1,1);
            }
            ENDCG
        }
    }
}

使用结构体替换输入

struct a2v // application to vert
{
    // 模型顶点填充v变量
    float4 v:POSITION;
    // 模型法线填充n变量
    float3 n:NORMAL;
    // 模型第一套UV填充texcoord
    float4 texcoord: TEXCOORD0;
};

float4 vert(a2v sa2v): SV_POSITION
{
    return UnityObjectToClipPos(sa2v.v);
};

更新于 2025/2/26