X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fcommon_world.glsl;h=a394acb75b73724666528c640a0698b5ac66b882;hb=f7db507815e2822d971031c30f25e02b45e9c914;hp=329226a65a971340bcdd6092147fadfe34c02eb8;hpb=ecc4dfbfb3adf91d2dfc03ba0ec9a821fcc2390c;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/common_world.glsl b/shaders/common_world.glsl index 329226a..a394acb 100644 --- a/shaders/common_world.glsl +++ b/shaders/common_world.glsl @@ -1,11 +1,17 @@ +layout (location = 0) out vec4 oColour; + layout (std140) uniform ub_world_lighting { - vec3 g_directional; - vec3 g_sun_colour; - vec3 g_shadow_colour; + vec4 g_light_colours[3]; + vec4 g_light_directions[3]; + vec4 g_ambient_colour; + vec4 g_water_plane; vec4 g_depth_bounds; float g_water_fog; + int g_light_count; + int g_light_preview; + int g_shadow_samples; }; uniform sampler2D g_world_depth; @@ -15,15 +21,28 @@ uniform sampler2D g_world_depth; vec3 do_light_diffuse( vec3 vfrag, vec3 wnormal ) { - float flight = dot( g_directional, wnormal )*0.5+0.5; - return vfrag * mix( g_shadow_colour, g_sun_colour, flight ); + vec3 vtotal = g_ambient_colour.rgb; + + for( int i=0; i