nngn
Loading...
Searching...
No Matches
light_vert.h
Go to the documentation of this file.
1#include "../const.h"
2
3LAYOUT(location = 1) out vec3 frag_pos;
4LAYOUT(location = 2) out vec3 frag_pos_bias;
5LAYOUT(location = 3) flat out vec3 frag_normal;
6LAYOUT(location = 4) out vec3 frag_pos_light[NNGN_MAX_LIGHTS];
7
9 frag_pos = p;
10 frag_normal = n;
11 if((lights.flags & NNGN_SHADOWS_ENABLED_BIT) == 0u)
12 return;
13 frag_pos_bias = p + n;
14 for(uint i = 0u; i < lights.n_dir; ++i) {
15 vec4 v = lights.dir.mat[i] * vec4(frag_pos_bias, 1);
16 frag_pos_light[i] = v.xyz / v.w;
17 }
18}
#define LAYOUT(x)
Definition common.h:11
#define NNGN_SHADOWS_ENABLED_BIT
Definition const.h:7
#define NNGN_MAX_LIGHTS
Definition const.h:6
for i
Definition font.lua:5
local n
Definition dump_lights.lua:5
lights
Definition light_ubo.h:25
void set_frag_light_inputs(vec3 p, vec3 n)
Definition light_vert.h:8
v[1]
Definition math.lua:22
local vec3
Definition zelda.lua:8