Pixel-Composer/shaders/sh_d3d_default/sh_d3d_default.fsh
2023-08-14 19:22:04 +02:00

34 lines
885 B
GLSL

//
// Simple passthrough fragment shader
//
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
varying vec3 v_vNormal;
varying vec3 v_worldPosition;
uniform vec4 light_ambient;
uniform vec3 light_dir_direction;
uniform vec4 light_dir_color;
uniform float light_dir_intensity;
void main() {
vec4 final_color = texture2D( gm_BaseTexture, v_vTexcoord );
final_color *= v_vColour;
///////////////// LIGHT /////////////////
vec3 light_effect = light_ambient.rgb * light_ambient.a;
float light_dir_strength = dot(normalize(v_vNormal), normalize(light_dir_direction));
light_dir_strength = max(light_dir_strength * light_dir_intensity, 0.);
light_effect += light_dir_color.rgb * light_dir_color.a * light_dir_strength;
light_effect = max(light_effect, 0.);
final_color.rgb *= light_effect;
///////////////// FINAL /////////////////
gl_FragColor = final_color;
}