a deriver pour creer les objets openGL. renvoie -1 pour indiquer une erreur, 0 sinon.
68 {
69
70 glGenVertexArrays(1, &vao);
71
72
73 std::string vertex_source= read("gkit2_tutos/tuto2GL_vertex.glsl");
74
75 vertex_shader= glCreateShader(GL_VERTEX_SHADER);
76
77
78 const char *vertex_strings[]= { vertex_source.c_str() };
79 glShaderSource(vertex_shader, 1, vertex_strings, NULL);
80
81 glCompileShader(vertex_shader);
82
83
84 std::string fragment_source= read("gkit2_tutos/tuto2GL_fragment.glsl");
85 fragment_shader= glCreateShader(GL_FRAGMENT_SHADER);
86 const char *fragment_strings[]= { fragment_source.c_str() };
87 glShaderSource(fragment_shader, 1, fragment_strings, NULL);
88 glCompileShader(fragment_shader);
89
90
91 program= glCreateProgram();
92
93 glAttachShader(program, vertex_shader);
94 glAttachShader(program, fragment_shader);
95
96 glLinkProgram(program);
97
98
99
100
101
102
103
104
105
106 GLint status;
107 glGetProgramiv(program, GL_LINK_STATUS, &status);
108 if(status == GL_FALSE)
109 printf(
"[error] linking pogram...\n");
110
111
112 if(status == GL_TRUE)
113 return 0;
114 else
115 return -1;
116 }
void printf(Text &text, const int px, const int py, const char *format,...)
affiche un texte a la position x, y. meme utilisation que printf().