HLSL 输入输出结构体

作者:追风剑情 发布于:2024-2-28 10:47 分类:Shader

  1. //输入结构体
  2. struct Attributes
  3. {
  4. float4 positionOS : POSITION;
  5. float3 normalOS : NORMAL;
  6. float4 tangentOS : TANGENT;
  7. float2 texcoord : TEXCOORD0;
  8. float2 staticLightmapUV : TEXCOORD1;
  9. float2 dynamicLightmapUV : TEXCOORD2;
  10. UNITY_VERTEX_INPUT_INSTANCE_ID
  11. };
  12.  
  13. //输出结构体
  14. struct Varyings
  15. {
  16. float2 uv : TEXCOORD0;
  17.  
  18. float3 positionWS : TEXCOORD1; // xyz: posWS
  19.  
  20. #ifdef _NORMALMAP
  21. half4 normalWS : TEXCOORD2; // xyz: normal, w: viewDir.x
  22. half4 tangentWS : TEXCOORD3; // xyz: tangent, w: viewDir.y
  23. half4 bitangentWS : TEXCOORD4; // xyz: bitangent, w: viewDir.z
  24. #else
  25. half3 normalWS : TEXCOORD2;
  26. #endif
  27.  
  28. #ifdef _ADDITIONAL_LIGHTS_VERTEX
  29. half4 fogFactorAndVertexLight : TEXCOORD5; // x: fogFactor, yzw: vertex light
  30. #else
  31. half fogFactor : TEXCOORD5;
  32. #endif
  33.  
  34. #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
  35. float4 shadowCoord : TEXCOORD6;
  36. #endif
  37.  
  38. DECLARE_LIGHTMAP_OR_SH(staticLightmapUV, vertexSH, 7);
  39.  
  40. #ifdef DYNAMICLIGHTMAP_ON
  41. float2 dynamicLightmapUV : TEXCOORD8; // Dynamic lightmap UVs
  42. #endif
  43.  
  44. float4 positionCS : SV_POSITION;
  45. UNITY_VERTEX_INPUT_INSTANCE_ID
  46. UNITY_VERTEX_OUTPUT_STEREO
  47. };

标签: Shader

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号