自定义顶点着色器的输入参数

作者:追风剑情 发布于:2016-8-29 22:44 分类:Shader

  1. Shader "Custom/VertFragShader" {
  2. SubShader {
  3. Pass {
  4. CGPROGRAM
  5.  
  6. #pragma vertex vert
  7. #pragma fragment frag
  8. //使用一个结构体来定义顶点着色器的输入
  9. struct a2v {
  10. //变量声明格式: 类型 名称 : 语义
  11. //POSITION语义告诉Unity,用模型空间的顶点坐标填充vertex变量
  12. float4 vertex : POSITION;
  13. //NORMAL语义告诉Unity,用模型空间的法线方向填充normal变量
  14. float3 normal : NORMAL;
  15. //TEXCOORD0语义告诉Unity,用模型的第一套纹理坐标填充texcoord变量
  16. float4 texcoord : TEXCOORD0;
  17. };
  18. //注意,这里的输入参数变成了上面自定义的结构体
  19. float4 vert(a2v v) : SV_POSITION {
  20. //把顶点坐标从模型空间转到裁剪空间,并返回。
  21. return mul (UNITY_MATRIX_MVP, v.vertex);
  22. }
  23. fixed4 frag() : COLOR {
  24. return fixed4(1.0, 1.0, 1.0, 1.0);
  25. }
  26. ENDCG
  27. }
  28. }
  29.  
  30. FallBack "Diffuse"
  31. }

标签: Shader

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号