T4M 6 Textures.shader 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. Shader "T4MShaders/ShaderModel2/Diffuse/T4M 6 Textures" {
  2. Properties {
  3. _Splat0 ("Layer 1", 2D) = "white" {}
  4. _Splat1 ("Layer 2", 2D) = "white" {}
  5. _Splat2 ("Layer 3", 2D) = "white" {}
  6. _Splat3 ("Layer 4", 2D) = "white" {}
  7. _Splat4 ("Layer 5", 2D) = "white" {}
  8. _Splat5 ("Layer 6", 2D) = "white" {}
  9. _Control ("Control (RGBA)", 2D) = "white" {}
  10. _Control2 ("Control2 (RGBA)", 2D) = "white" {}
  11. _MainTex ("Never Used", 2D) = "white" {}
  12. }
  13. SubShader {
  14. Tags {
  15. "SplatCount" = "6"
  16. "Queue" = "Geometry-100"
  17. "RenderType" = "Opaque"
  18. }
  19. CGPROGRAM
  20. #pragma surface surf Lambert
  21. #pragma exclude_renderers gles xbox360 ps3 flash
  22. struct Input {
  23. float2 uv_Control : TEXCOORD0;
  24. float2 uv_Splat0 : TEXCOORD1;
  25. float2 uv_Splat1 : TEXCOORD2;
  26. float2 uv_Splat2 : TEXCOORD3;
  27. float2 uv_Splat3 : TEXCOORD4;
  28. float2 uv_Splat4 : TEXCOORD5;
  29. float2 uv_Splat5 : TEXCOORD6;
  30. };
  31. sampler2D _Control,_Control2;
  32. sampler2D _Splat0,_Splat1,_Splat2,_Splat3,_Splat4,_Splat5;
  33. void surf (Input IN, inout SurfaceOutput o) {
  34. fixed4 splat_control = tex2D (_Control, IN.uv_Control).rgba;
  35. fixed3 splat_control2 = tex2D (_Control2, IN.uv_Control).rgb;
  36. fixed3 col;
  37. col = splat_control.r * tex2D (_Splat0, IN.uv_Splat0).rgb;
  38. col += splat_control.g * tex2D (_Splat1, IN.uv_Splat1).rgb;
  39. col += splat_control.b * tex2D (_Splat2, IN.uv_Splat2).rgb;
  40. fixed3 col2;
  41. col2 = splat_control2.r * tex2D (_Splat3, IN.uv_Splat3).rgb;
  42. col2 += splat_control2.g* tex2D (_Splat4, IN.uv_Splat4).rgb;
  43. col2 += splat_control2.b * tex2D (_Splat5, IN.uv_Splat5).rgb;
  44. col += splat_control.a * col2.rgb;
  45. o.Albedo = col.rgb;
  46. o.Alpha = 0.0;
  47. }
  48. ENDCG
  49. }
  50. ////FallBack "Diffuse"
  51. }