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}
for i
Definition: font.lua:5
vec3
Definition: zelda.lua:8
#define NNGN_SHADOWS_ENABLED_BIT
Definition: const.h:7
#define NNGN_MAX_LIGHTS
Definition: const.h:6
#define LAYOUT(x)
Definition: common.h:11
void set_frag_light_inputs(vec3 p, vec3 n)
Definition: light_vert.h:8
n
Definition: dump_lights.lua:5
p
Definition: input.lua:29
v[1]
Definition: math.lua:19
lights
Definition: models.lua:8