Gl.NewList (gb.opengl)
Static Sub NewList ( Index As Integer, Mode As Integer )
Crée ou remplace une "display list"
Paramètres
Description
Les display lists sont des groupes de commandes GL qui ont été enregistrées pour une exécution ultérieure. Les display lists sont créées avec Gl.NewList.
Gl.NewList a deux arguments. Le premier,
Index, est un entier positif qui devient le nom unique de la display list. Les nomspeuvent être créés et réservés avec
Gl.GenLists et leur unicité peut être vérifiée avec
Gl.IsList. Le second argument,
Mode, est une constante symbolique qui peut prendre l’une des deux valeurs :
Exemples
Extrait de l’exemple OpenGL -> GambasGears
' Nous avons besoin de 3 displaylists pour les 3 engrenages
gearlists = Gl.GenLists(3)
Gl.NewList(gearlists, Gl.GL_COMPILE)
Gl.Materialfv(Gl.GL_FRONT, Gl.GL_AMBIENT_AND_DIFFUSE, red)
Gear(1.0, 4.0, 1.0, 20, 0.7)
Gl.EndList()
Gl.NewList(gearlists + 1, Gl.GL_COMPILE)
Gl.Materialfv(Gl.GL_FRONT, Gl.GL_AMBIENT_AND_DIFFUSE, green)
Gear(0.5, 2.0, 2.0, 10, 0.7)
Gl.EndList()
Gl.NewList(gearlists + 2, Gl.GL_COMPILE)
Gl.Materialfv(Gl.GL_FRONT, Gl.GL_AMBIENT_AND_DIFFUSE, blue)
Gear(1.3, 2.0, 0.5, 10, 0.7)
Gl.EndList()
Certaines commandes ne sont pas compilées dans la display list, mais sont exécutées immédiatement, quelque soit le mode de la display-list. Ces commandes sont
Gl.IsList,
Gl.GenLists,
Gl.DeleteLists, Gl.FeedbackBuffer, Gl.SelectBuffer,
Gl.RenderMode, Gl.ReadPixels, Gl.PixelStore,
Gl.Flush,
Gl.Finish,
Gl.IsEnabled, et toutes les routines pour obtenir des valeurs GL.
Quand
Gl.EndList est rencontré, la définition de la display-list est complètée par l’association de la liste avec la liste de noms uniques (spécifiée dans la commande Gl.NewList). Si une display list avec liste de noms existe déjà, elle est remplacée seulement lors de l’appel à
Gl.EndList.
Erreurs
Gl.GL_INVALID_VALUE est générée si
list vaut zéro.
Gl.GL_INVALID_ENUM est générée si
mode n’est pas une valeur acceptée.
Gl.GL_INVALID_OPERATION est générée si
Gl.EndList est appelé sans Gl.NewList précédent, ou si Gl.NewList est appelé pendant la définition d’une display list.
Gl.GL_INVALID_OPERATION est générée si Gl.NewList est appelée entre un appel à
Gl.Begin et l’appel correspondant à
Gl.End.
_ Gets Associés
Gl.IsList
Voir aussi