Freigeben über


Grundtypen und Befehle

OpenGL zeichnet primitive Punkte, Liniensegmente oder Polygone, die mehreren auswählbaren Modi unterliegen. Sie können Modi unabhängig voneinander steuern. Das heißt, das Festlegen eines Modus wirkt sich nicht darauf aus, ob andere Modi festgelegt sind (obwohl viele Modi interagieren können, um zu bestimmen, was schließlich im Framebuffer endet). Um Grundtypen anzugeben, Modi festzulegen und andere OpenGL-Vorgänge auszuführen, geben Sie Befehle in Form von Funktionsaufrufen aus.

Grundtypen werden durch eine Gruppe von mindestens einem Scheitelpunkt definiert. Ein Scheitelpunkt definiert einen Punkt, einen Endpunkt einer Linie oder eine Ecke eines Polygons, an der zwei Kanten aufeinandertreffen. Daten (bestehend aus Vertexkoordinaten, Farben, Normaldaten, Texturkoordinaten und Kantenflags) werden einem Scheitelpunkt zugeordnet, und jeder Scheitelpunkt und die zugehörigen Daten werden unabhängig, in der Reihenfolge und auf die gleiche Weise verarbeitet. Die einzigen Ausnahmen von dieser Regel sind Fälle, in denen die Gruppe von Scheitelpunkten abgeschnitten werden muss, damit ein bestimmter Grundtyp in einen angegebenen Bereich passt. In diesem Fall können Vertexdaten geändert und neue Scheitelpunkte erstellt werden. Der Beschneidungstyp hängt davon ab, welchen Grundtyp die Gruppe von Scheitelpunkten darstellt.

Befehle werden immer in der Reihenfolge verarbeitet, in der sie empfangen werden, obwohl es eine unbestimmte Verzögerung geben kann, bevor ein Befehl wirksam wird. Dies bedeutet, dass jeder Grundtyp vollständig gezeichnet wird, bevor ein nachfolgender Befehl wirksam wird. Dies bedeutet auch, dass Zustandsabfragebefehle Daten zurückgeben, die mit der vollständigen Ausführung aller zuvor ausgegebenen OpenGL-Befehle konsistent sind.