Bonjour,

Je me remet à opengl, et je souhaite utiliser les VAO et les VBO.

J'arrive au code suivant pour enregistrer la géométrie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
glEnable(GL_VERTEX_ARRAY);
    glGenVertexArrays(1, &m_vao);
	glBindVertexArray(m_vao);
 
	glGenBuffers(1, &m_tabIndex[ShapeEInfoTab_VERTEX]);
	glGenBuffers(1, &m_tabIndex[ShapeEInfoTab_INDEX]);
 
	glBindBuffer(GL_ARRAY_BUFFER, m_tabIndex[ShapeEInfoTab_VERTEX]);
	glBufferData(GL_ARRAY_BUFFER, sizeof(m_geometry.points), m_geometry.points, GL_STATIC_DRAW);
	glEnableVertexAttribArray(glGetAttribLocation(m_program.getProgId(), "position"));
	glVertexAttribPointer(glGetAttribLocation(m_program.getProgId(), "position"), 3, GL_FLOAT, GL_FALSE, 0, 0);
 
 
	glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_tabIndex[ShapeEInfoTab_INDEX]);
	glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(m_index.indexes), m_index.indexes, GL_STATIC_DRAW);
	glDisable(GL_VERTEX_ARRAY);
et pour dessiner, simplement un:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
glBindVertexArray(m_vao);
		glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_tabIndex[ShapeEInfoTab_INDEX]);
		glDrawElements(GL_TRIANGLES, m_index.size, GL_UNSIGNED_BYTE, 0);
Malheureusement, ça n'affiche rien. Voilà le shader utilisé:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
#version 130
 
//Vertex
in vec3 position;
 
//Transformation
uniform mat4 modelMat;
uniform mat4 viewProjMat;
 
out vec4 fColor0;
 
void main(void)
{
  //Position
  mat4 modelViewProjMat = modelMat * viewProjMat;
  gl_Position = modelViewProjMat * vec4(position, 1.0f);
 
  fColor0 = gl_Position;
}
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
#version 130
 
 
#define PI    3.14159265
 
in vec4 fColor0;
out vec4 fragColor;
 
void main(void)
{
 	fragColor = fColor0;
}
Dans gDebugger, mes matrices sont bonnes, les coordonnées des points et les indices aussi.. Mais ça ne dessine rien..

Merci d'avance.