diff options
author | HampusM <hampus@hampusmat.com> | 2024-11-23 21:32:03 +0100 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2024-11-23 21:32:03 +0100 |
commit | daf280048d82eed42d44423ce50ae9e809ba91a9 (patch) | |
tree | fdd1580b3c50f2f7cebc5175b38777a7117c904f /engine/fragment.glsl | |
parent | 999264a46f9a545771c6710b0893ca32cf6e7ee3 (diff) |
refactor(engine): make shaders a renderer detail
Diffstat (limited to 'engine/fragment.glsl')
-rw-r--r-- | engine/fragment.glsl | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/engine/fragment.glsl b/engine/fragment.glsl deleted file mode 100644 index 5bf5ff2..0000000 --- a/engine/fragment.glsl +++ /dev/null @@ -1,73 +0,0 @@ -#version 330 core - -#preinclude "light.glsl" -#preinclude "vertex_data.glsl" - -#define MAX_LIGHT_CNT 64 - -out vec4 FragColor; - -in VertexData vertex_data; - -uniform vec3 view_pos; -uniform sampler2D input_texture; -uniform Material material; - -uniform PointLight point_lights[MAX_LIGHT_CNT]; -uniform int point_light_cnt; - -uniform DirectionalLight directional_lights[MAX_LIGHT_CNT]; -uniform int directional_light_cnt; - -void main() -{ - vec3 ambient_light = calc_ambient_light(material, vertex_data.texture_coords); - - vec3 directional_light_sum = vec3(0.0, 0.0, 0.0); - - for (int dl_index = 0; dl_index < directional_light_cnt; dl_index++) { - CalculatedLight calculated_dir_light; - - calc_light( - // Negated since we want the light to point from the light direction - normalize(-directional_lights[dl_index].direction), - directional_lights[dl_index].phong, - vertex_data, - view_pos, - material, - calculated_dir_light - ); - - directional_light_sum += - calculated_dir_light.diffuse + calculated_dir_light.specular; - } - - vec3 point_light_sum = vec3(0.0, 0.0, 0.0); - - for (int pl_index = 0; pl_index < point_light_cnt; pl_index++) { - vec3 light_direction = - normalize(point_lights[pl_index].position - vertex_data.world_space_pos); - - CalculatedLight calculated_point_light; - - calc_light( - light_direction, - point_lights[pl_index].phong, - vertex_data, - view_pos, - material, - calculated_point_light - ); - - float attenuation = - calc_attenuation(point_lights[pl_index], vertex_data.world_space_pos); - - calculated_point_light.diffuse *= attenuation; - calculated_point_light.specular *= attenuation; - - point_light_sum += - calculated_point_light.diffuse + calculated_point_light.specular; - } - - FragColor = vec4((ambient_light + directional_light_sum + point_light_sum), 1.0); -} |