T4M 5 Textures.shader 1.8 KB

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