Bezeichnung
nurb:Callback -- definiert eine Callback-Funktion für ein NURBS-Objekt
Übersicht
nurb:Callback(which, func)
Beschreibung
nurb:Callback() wird verwendet, um eine Callback-Funktion zu definieren, die von einem NURBS-Objekt verwendet werden soll. Wenn die angegebene Callback-Funktion bereits definiert ist, wird sie ersetzt. Wenn func Nil ist, dann wird diese Callback-Funktion nicht aufgerufen und die zugehörigen Daten, falls vorhanden, gehen verloren.

Abgesehen von einer Fehlercallback-Funktion werden diese Callback-Funktionen vom NURBS-Tessellator verwendet (wenn #GLU_NURBS_MODE auf #GLU_NURBS_TESSELLATOR gesetzt ist), um die aus der Tessellierung resultierenden OpenGL-Polygon-Grundmuster zurückzugeben. Die Fehlercallback-Funktion ist unabhängig davon wirksam, auf welchen Wert #GLU_NURBS_MODE gesetzt ist. Alle anderen Callback-Funktionen sind nur wirksam, wenn #GLU_NURBS_MODE auf #GLU_NURBS_TESSELLATOR gesetzt ist.

Alle Callback-Funktionen erhalten als ersten Parameter ein Zugriffsrecht für das NURBS-Objekt. Der zweite Parameter hängt von der in which angegebenen Callback-Art ab.

Die zulässigen Callback-Aktionen stellen sich wie folgt dar:

#GLU_NURBS_BEGIN
Der Start-Callback zeigt den Beginn eines Grundmusters an. Die Funktion erhält ein ganzzahliges Argument, das eines der folgenden sein kann: #GLU_LINES, #GLU_LINE_STRIP, #GLU_TRIANGLE_FAN, #GLU_TRIANGLE_STRIP, #GLU_TRIANGLES oder #GLU_QUAD_STRIP. Die Standard-Callback-Funktion für den Beginn ist Nil.

#GLU_NURBS_VERTEX
Der Vertex-Callback zeigt einen Scheitelpunkt des Grundmusters an. Die Koordinaten des Scheitels werden in einem Tabellenparameter als vier Fließkommazahlen übergeben. Alle erzeugten Knoten haben die Dimension 3, d.h. homogene Koordinaten wurden in affine Koordinaten umgewandelt. Die Standardfunktion für den Callback von Knoten ist Nil.

#GLU_NURBS_NORMAL
Der Normalen-Callback wird aufgerufen, wenn der Normalen-Knoten erzeugt wird. Die Komponenten der Normalen werden in einem Tabellenparameter als drei Fließkommazahlen übergeben. Im Falle einer NURBS-Kurve ist die Callback-Funktion nur wirksam, wenn der Benutzer eine Normalen-Karte (#GLU_MAP1_NORMAL) bereitstellt. Im Falle einer NURBS-Oberfläche, wenn eine Normalen-Karte (#GLU_MAP2_NORMAL) bereitgestellt wird, wird der erzeugte Normalenwert aus der Normalen-Karte berechnet. Wenn keine Normalen-Karte zur Verfügung gestellt wird, wird eine Oberflächen-Normale auf eine ähnliche Weise berechnet wie für Evaluatoren beschrieben, wenn #GLU_AUTO_NORMAL aktiviert ist. Die Standardfunktion für den Normalen-Callback ist Nil.

#GLU_NURBS_COLOR
Der Farb-Callback wird aufgerufen, wenn die Farbe eines Knoten erzeugt wird. Die Komponenten der Farbe werden in einem Tabellenparameter übergeben. Dieser Callback ist nur wirksam, wenn der Benutzer eine Farbkarte zur Verfügung stellt (#GLU_MAP1_COLOR_4 oder #GLU_MAP2_COLOR_4). Die an diesen Callback übergebene Tabelle enthält vier Gleitkomma-Komponenten: R, G, B, A. Die Standardfunktion für den Farbrückruf ist Nil.

#GLU_NURBS_TEXTURE_COORD
Der Textur-Callback wird aufgerufen, wenn die Texturkoordinaten eines Knoten erzeugt werden. Diese Koordinaten werden in einem Tabellenparameter übergeben. Die Anzahl der Texturkoordinaten kann 1, 2, 3 oder 4 betragen, je nachdem, welcher Typ von Texturkarte angegeben ist (#GLU_MAP1_TEXTURE_COORD_1, #GLU_MAP1_TEXTURE_COORD_2, #GLU_MAP1_TEXTURE_COORD_3, #GLU_MAP1_TEXTURE_COORD_4, #GLU_MAP2_TEXTURE_COORD_1, #GLU_MAP2_TEXTURE_COORD_2, #GLU_MAP2_TEXTURE_COORD_3, #GLU_MAP2_TEXTURE_COORD_4). Wenn keine Texturkarte angegeben ist, wird diese Callback-Funktion nicht aufgerufen. Die Standardfunktion für den Textur-Callback ist Nil.

#GLU_NURBS_END
Der End-Callback wird am Ende eines Grundmusters aufgerufen. Die Standardfunktion für den End-Callback ist Nil. Dieser Callback empfängt keine Parameter außer einem Handler für das NURBS-Objekt.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
which
gibt an, dass der Callback definiert wird (siehe oben)
func
gibt die Funktion an, die der Callback aufruft

Navigation zeigen