Shader 学习笔记(3)

Shader "wx/3"{

       Subshader{

                 Pass{

                      CGPROGRAM

                         #pragma vertex vert               //声明 vert 函数 包含顶点着色器代码

                         #prgame fragment frag          //声明 frag 函数 包含片元着色器代码

                         struct a2v {       //struct 结构体 (C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量指针数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。) 用自己的话就是:结构体是定义了一个箱子,箱子中放了一些变量,本节中定义了一个名叫a2v的箱子,箱子里面放了3个变量,POSITION,NORMAL,TEXCOORD0.我们之后写shader需要取的参数都放在这个箱子里.~~a2v名字的含义:a=application,v=vertex shader, 把数据从应用阶段传递到顶点着色器中.


                                    float4 vertex :POSITION;   // 用模型空间的顶点坐标填充 vertex 变量

                                    float3 normal :NORMAL;  // 用模型空间的法线方向填充normal 变量

                                    float4 texcoord:TEXCOORD0;   //用模型的第一套纹理坐标填充 texcoord 变量

                                           }; 

                           float4 vert(a2v v) : SV_POSITION{    //定义顶点着色器vert函数,用结构体a2v定义一个对象v,把UnityObjectToClipPos(v.vertex)的结果输出到SV_POSITION

                                          return UnityObjectToClipPos(v.vertex);   //返回裁剪空间v.vertex的结果.

                                    }

                            fixed4  frag ():SV_Target {

                                          return fixed4 (1,1,1,1);

                                   }

                            ENDCG

                           }

       }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值