gKit2 light
Toggle main menu visibility
Loading...
Searching...
No Matches
gkit2_tutos
instance_buffer.glsl
Go to the documentation of this file.
1
3
4
#version 330
5
6
#ifdef VERTEX_SHADER
7
layout(location= 0) in
vec3
position;
8
layout(location= 2) in
vec3
normal;
9
10
// l'attribut d'instance se declare "normalement", c'est l'application qui doit correctement configurer le vao...
11
layout(location= 1) in
vec3
instance_position;
12
13
uniform mat4 mvpMatrix;
14
uniform mat4 normalMatrix;
15
16
out
vec3
vertex_normal;
17
18
void
main( )
19
{
20
vec3
p= position + instance_position;
21
gl_Position= mvpMatrix *
vec4
(p, 1);
22
23
vertex_normal= mat3(normalMatrix) * normal;
24
}
25
#endif
26
27
#ifdef FRAGMENT_SHADER
28
in
vec3
vertex_normal;
29
30
out
vec4
fragment_color;
31
32
void
main( )
33
{
34
fragment_color=
vec4
(abs(
normalize
(vertex_normal).zzz), 1);
35
}
36
37
#endif
normalize
Vector normalize(const Vector &v)
renvoie un vecteur unitaire / longueur == 1.
Definition
vec.cpp:167
vec3
vecteur generique, utilitaire.
Definition
vec.h:169
vec4
vecteur generique 4d, ou 3d homogene, utilitaire.
Definition
vec.h:192
Generated on
for gKit2 light by
1.17.0