Partager via


Primitives et commandes

OpenGL dessine primitives points, segments de trait ou 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 se termine par 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 sommet définit un point, un point de terminaison d’une ligne ou un angle d’un polygone où se rencontrent deux bords. 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 vertex et ses données associées sont traitées indépendamment, dans l’ordre et de la même façon. Les seules exceptions à cette règle sont les cas dans lesquels le groupe de sommets doit être clippé 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 les nouveaux sommets créés. Le type de découpage dépend de la primitive du groupe de sommets représente.

Les commandes sont toujours traitées dans l’ordre dans lequel elles sont reçues, même s’il peut 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 que toute commande ultérieure 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.