summaryrefslogtreecommitdiff
path: root/engine/fragment.glsl
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2024-05-23 20:22:08 +0200
committerHampusM <hampus@hampusmat.com>2024-05-23 20:53:25 +0200
commit638c775707240d365432ed910a88a3cbf545a130 (patch)
treef8656d0ff8c7074764fab353c81b02f449c6e3fe /engine/fragment.glsl
parenteb270458de24c7346adc1ab0a4fe1c409a2008ae (diff)
refactor(engine): pass vertex data as struct to calc_point_light
Diffstat (limited to 'engine/fragment.glsl')
-rw-r--r--engine/fragment.glsl13
1 files changed, 9 insertions, 4 deletions
diff --git a/engine/fragment.glsl b/engine/fragment.glsl
index 6e852f3..afeef25 100644
--- a/engine/fragment.glsl
+++ b/engine/fragment.glsl
@@ -1,6 +1,7 @@
#version 330 core
#preinclude "light.glsl"
+#preinclude "vertex_data.glsl"
#define MAX_POINT_LIGHT_CNT 64
@@ -19,16 +20,20 @@ uniform int point_light_cnt;
void main()
{
+ VertexData vertex_data;
+
+ vertex_data.texture_coords = in_texture_coords;
+ vertex_data.world_space_pos = in_frag_pos;
+ vertex_data.world_space_normal = in_normal;
+
vec3 ambient_light = calc_ambient_light(material, in_texture_coords);
vec3 point_light_sum = vec3(0.0, 0.0, 0.0);
- for (int pl_index= 0; pl_index < point_light_cnt; pl_index++) {
+ for (int pl_index = 0; pl_index < point_light_cnt; pl_index++) {
point_light_sum += calc_point_light(
point_lights[pl_index],
- in_frag_pos,
- in_normal,
- in_texture_coords,
+ vertex_data,
view_pos,
material
);