Partager via


Primitives et commandes

OpenGL dessine des points primitifs , des segments de ligne ou des polygones soumis à plusieurs modes sélectionnables. Vous pouvez contrôler les modes indépendamment les uns des autres. Autrement dit, la définition d’un mode n’affecte pas si d’autres modes sont définis (bien que de nombreux modes puissent interagir pour déterminer ce qui finit par se retrouver dans le framebuffer). Pour spécifier des primitives, définir des modes et effectuer d’autres opérations OpenGL, vous émettez des commandes sous la forme d’appels de fonction.

Les primitives sont définies par un groupe d’un ou plusieurs sommets. Un vertex définit un point, un point de terminaison d’une ligne ou un coin d’un polygone où deux arêtes se rencontrent. Les données (composées de coordonnées de vertex, de couleurs, de normales, de coordonnées de texture et d’indicateurs de bord) sont associées à un sommet, et chaque sommet et ses données associées sont traités indépendamment, dans l’ordre et de la même manière. Les seules exceptions à cette règle sont les cas dans lesquels le groupe de sommets doit être rogné afin qu’une primitive particulière s’intègre dans une région spécifiée. Dans ce cas, les données de vertex peuvent être modifiées et de nouveaux sommets peuvent être créés. Le type de découpage dépend de la primitive que représente le groupe de sommets.

Les commandes sont toujours traitées dans l’ordre dans lequel elles sont reçues, bien qu’il puisse y avoir un délai indéterminé avant qu’une commande ne prenne effet. Cela signifie que chaque primitive est entièrement dessinée avant qu’une commande suivante ne prenne effet. Cela signifie également que les commandes d’interrogation d’état retournent des données cohérentes avec l’exécution complète de toutes les commandes OpenGL précédemment émises.