edx/assignment10final/Assets/ProCore/ProBuilder/Shader/DiffuseTextureBlend.shader

55 lines
1.0 KiB
Plaintext
Raw Permalink Normal View History

2022-11-10 21:56:29 -03:00
Shader "ProBuilder/Diffuse Texture Blend"
{
Properties
{
_FirstTex ("Texture", 2D) = "white" {}
_SecondTex ("Texture", 2D) = "white" {}
_ThirdTex ("Texture", 2D) = "white" {}
_FourthTex ("Texture", 2D) = "white" {}
}
SubShader
{
Tags { "RenderType" = "Opaque" }
ColorMask RGB
CGPROGRAM
#pragma surface surf Lambert
sampler2D _FirstTex;
sampler2D _SecondTex;
sampler2D _ThirdTex;
sampler2D _FourthTex;
struct Input
{
float4 color : COLOR;
float2 uv_FirstTex;
float2 uv_SecondTex;
float2 uv_ThirdTex;
float2 uv_FourthTex;
};
void surf (Input IN, inout SurfaceOutput o)
{
fixed4 c0 = tex2D(_FirstTex, IN.uv_FirstTex);
fixed4 c1 = tex2D(_SecondTex, IN.uv_SecondTex);
fixed4 c2 = tex2D(_ThirdTex, IN.uv_ThirdTex);
fixed4 c3 = tex2D(_FourthTex, IN.uv_FourthTex);
fixed4 blend = normalize(IN.color);
fixed4 rgba = c0 * blend.r;
rgba = lerp(rgba, c1, blend.g);
rgba = lerp(rgba, c2, blend.b);
rgba = lerp(rgba, c3, blend.a);
o.Albedo = rgba.rgb;
}
ENDCG
}
Fallback "Diffuse"
}