gKit2 light

- Main Page
- Related Pages
- Modules
- Classes
- Files

- File List
- File Members

intro1.glsl
1
2 #version 330
3
4 #ifdef VERTEX_SHADER
5
6 const float dx= 0.0;
7 const float dy= 0;
8 const float dz= 0;
9
10 /* vec3 et vec4 sont des types de base, ils sont equivalents a :
11
12 struct vec3 { float x, y, z; };
13 struct vec4 { float x, y, z, w; };
14 */
15
16 void main( )
17 {
18 // intialiser les coordonnees des 3 sommets
19 vec3 positions[3]= vec3[3]( vec3(-0.5, -0.5, 0), vec3(0.5, -0.5, 0), vec3(0, 0.5, 0) );
20
21 // recuperer le sommet a traiter
22 vec3 p= positions[gl_VertexID];
23
24 // calculer le resultat
25 vec4 r;
26 r.x= p.x + dx;
27 r.y= p.y + dy;
28 r.z= p.z + dz;
29 r.w= 1;
30
31 // renvoyer le sommet transforme
32 gl_Position= r;
33 }
34 #endif
35
36
37 #ifdef FRAGMENT_SHADER
38
39 out vec4 fragment_color;
40
41 void main( )
42 {
43 // remplir le triangle avec une couleur uniforme
44 framgent_color= vec4(0.8, 0.4, 0, 1);
45 }
46 #endif
vec3
vecteur generique, utilitaire.
Definition: vec.h:104
vec4
vecteur generique 4d, ou 3d homogene, utilitaire.
Definition: vec.h:121