美文网首页
2022年的第一个shader

2022年的第一个shader

作者: 大师的学徒 | 来源:发表于2022-01-02 00:46 被阅读0次
Shader"UnityShaderBook/SimpleShader"
{
  SubShader
  {
    Pass
    {
        CGPROGRAM
        #pragma vertex vert // 定义顶点着色器函数为vert
        #pragma fragment frag  // 定义片元着色器函数为frag
        // 这两行是非常重要的编译指令,vert和frag分别是顶点着色器和片元着色器的函数名
        
        float4 vert(float4 v:POSITION):SV_POSITION
        {
          return UnityObjectToClipPos(v); //将顶点进行MVP矩阵变换
        }
        
        fixed4 frag():SV_Target
        {
          return fixed4(1.0,1.0,1.0,1.0);
        }
        ENDCG

    }

  }    
}

如果想要读取更多的顶点信息,需要引入结构体

Shader "Unity Shaders Book/Cha5/Simple shader Struct"
{
    SubShader
    {
        Pass
        {
            CGPROGRAM

            #pragma vertex vert
            #pragma fragment frag

            struct a2v
            {
                float4 vertex : POSITION;
                float3 normal : Normal;
                float4 texcoord : TEXCOORD0;
             };  //读取顶点的位置 法线 和第0套UV信息;
          



            float4 vert(a2v v) : SV_POSITION
            {
                return UnityObjectToClipPos(v.vertex);
            }
            fixed4 frag() : SV_Target
            {
                return fixed4(1.0, 1.0, 1.0, 1.0);
            }
            ENDCG
        }

    }
}

相关文章

网友评论

      本文标题:2022年的第一个shader

      本文链接:https://www.haomeiwen.com/subject/seoaqrtx.html