shader笔记(1)

来源:互联网 发布:java集成测试工具 编辑:程序博客网 时间:2024/06/02 03:41
Shader "test/xxx"{  SubShader  {    pass    {      CGPROGRAM      #pragma vertex vert      #pragma fragment frag      void func(out float4 col);//前置声明      void vert(in float2 objPos:POSITION, out float4 pos:POSITION)      {        pos = float4(objPos,0,1);      }       void frag(out float4 col:COLOR)      {        func(col);      }      void func(out float4 col) //out地址传递      {        col = float4(0,1,0,1);      }      ENDCG    }  } }

1、和C语言的类似点,这里需要使用前置声明
2、如果要使用地址传递,那么则需要使用关键字out,如这里的func函数中对传入的变量进行修改,则需要使用out,才能在函数执行过后记录其设置的结果。
3、一个简单的顶点着色器,需要包含下面的基本结构:
这里写图片描述

0 0
原创粉丝点击