Bonsoir à tous =)

Depuis que OpenGL 3.0 et 3.1 sont sorties, pas mal de choses ont changées, notamment tout ce qui est pipeline fixe, puisque tout à été déprécié.

J'ai commencé à m'y plonger, et j'avoue que c'est assez déroutant au début. Ne plus pouvoir utiliser gl_Vertex, ni gl_ModelViewMatrix, mais devoir tout passer comme variables uniform ou attributes, c'est assez déstabilisant.

Je propose donc que l'on récapitule ici différents tutoriaux ou petits bouts de codes sur les nouveautés apportés par OpenGL 3.0.

  • Déjà, les spécifications :


OpenGL 3.1 Spécifications
GLSL 1.40 Spécifications


  • Vertex Array Objects

Un lien sur la nouvelle extension "Vertex Array Object" : Vertex Array Objects. Sur ce que j'ai compris, cette extension ressemble un peu aux display lists, mais bien plus moderne. En gros, au lieu de faire un glBindBuffer (...), glEnableClientState (...), glVertexAttrib (...) à chaque frame, on le fait qu'une fois avec le VAO.
Les spécifications pour plus de détails : ici.

Voir la page 2 pour plus d'infos.

  • Bindless


Une extension de nVidia pour limiter les échanges CPU<->GPU lors de la mise à jour des variables des shaders ici

Si vous avez d'autres liens de ce genre, n'hésitez pas =).