Files
blight/blight-assets/src/main/resources/Shaders/Tree.frag

28 lines
775 B
GLSL

#import "Common/ShaderLib/GLSLCompat.glsllib"
uniform vec4 m_Diffuse;
uniform sampler2D m_BarkMap;
uniform bool m_HasBarkMap;
uniform vec3 m_LightDir;
uniform vec3 m_SunColor;
uniform vec3 m_AmbientColor;
uniform float m_Wetness;
in vec2 texCoord;
in vec3 worldNormal;
void main() {
vec3 n = normalize(worldNormal);
vec3 baseColor = m_HasBarkMap
? texture2D(m_BarkMap, texCoord).rgb * m_Diffuse.rgb
: m_Diffuse.rgb;
float diff = max(dot(n, normalize(m_LightDir)), 0.0);
vec3 light = clamp(m_AmbientColor + m_SunColor * diff, 0.0, 1.0);
baseColor *= (1.0 - 0.18 * m_Wetness);
float shine = pow(diff, 12.0) * m_Wetness * 0.30;
gl_FragColor = vec4(baseColor * light + vec3(shine), m_Diffuse.a);
}