diff options
author | HampusM <hampus@hampusmat.com> | 2023-11-27 20:02:08 +0100 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2023-11-27 20:02:08 +0100 |
commit | c230f5aaea3df46ae9a4d7c1c9761e55ef827b82 (patch) | |
tree | 9e429a33df6e12f4b2f9adf87d08dad2a0127756 /engine/fragment.glsl | |
parent | 935f35455ac2e3547cdd21cd4596538958a7217e (diff) |
feat(engine): add lighting maps
Diffstat (limited to 'engine/fragment.glsl')
-rw-r--r-- | engine/fragment.glsl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/engine/fragment.glsl b/engine/fragment.glsl new file mode 100644 index 0000000..428e87f --- /dev/null +++ b/engine/fragment.glsl @@ -0,0 +1,34 @@ +#version 330 core + +#preinclude "light.glsl" + +out vec4 FragColor; + +in vec2 in_texture_coords; + +in vec3 in_frag_pos; +in vec3 in_normal; + +uniform vec3 view_pos; + +uniform sampler2D input_texture; + +void main() +{ + vec3 ambient_light = calc_ambient_light(in_texture_coords); + + vec3 light_direction = normalize(light.position - in_frag_pos); + vec3 norm = normalize(in_normal); + + vec3 diffuse_light = calc_diffuse_light(light_direction, norm, in_texture_coords); + + vec3 specular_light = calc_specular_light( + light_direction, + norm, + view_pos, + in_frag_pos, + in_texture_coords + ); + + FragColor = vec4((ambient_light + diffuse_light + specular_light), 1.0); +} |