Unity_Shader_语法笔记

Shader "MyShaderName"{
    Properties{
        //属性
    }
    SubShader{
        //针对显卡渲染状态标签
        Pass{
            //设置渲染状态和标签
            
            //开始CG代码片段
            CGPROGRAM
            //该代码片段的编译指令
            #pragma vertex vert
            #pragma fragment frag

            //CG代码写这里
            
            ENDCG

            //其他设置
        }
        //其他需要的Pass
    }
    SubShader{
        //针对显卡B的SubSHader
    }
    
    //上述 SubShader 都SubShader 都失败后用于回调的Unity Shader
    Fallback "VertexLit"
}

 #pragma vertex vert
#pragma fragment frag

 #pragma vertex 函数名
#pragma fragment 函数名

方法:

float4 vert(float4 v : POSITION) : SV_POSITION{

      return mul(UNITY_MATRIX_MVP, v);

}

返回值 函数名(参数名字 参数名 : 语义) : 语义{

      return 返回值;

}

结构体:

struct StructName{

    Type Name : Semantic;

    Type Name : Semantic;

}

struct 结构体名{

    变量类型 名字 : 语义;

   变量类型 名字 : 语义;

}

猜你喜欢

转载自blog.csdn.net/weixin_42137574/article/details/107760629