Quadrik

Aus DGL Wiki
Wechseln zu: Navigation, Suche

Quadriken

Was ist das?

Eine Kugel gerendert mit gluSphere im Drahtgittermodus.

Quadriken (engl.: Quadrics) sind Container für geometrische Objekte in OpenGL. Sie werden eingesetzt, wenn ohne großen Aufwand komplexere geom. Objekte (Kugel, Zylinder, ...) gerendert werden sollen.

Mathematische Information für Interessierte:

Bei Quadriken oder auch quadratischen Hyperflächen im Quadrik Formel0.png handelt es sich um die Lösungsmenge eines Polynoms zweiten Grades der Gestalt f(x1,x2,...,xn) = 0. Dieses kann man auch schreiben als: Quadrik Formel1.png, wobei Quadrik Formel2.png ist.

Zu was brauche ich Quadriken?

Wie bereits erwähnt sind Quadriken Container für geometrische Objekte. Quadriken bestehen aus ganz normalen OpenGL-Primitiven. Man kann ihnen vorgeben, welche Form Sie annehmen sollen (Kugel, Zylinder, Kegel, Torus, Scheibe...). Außerdem besitzen Quadriken Methoden zum Zeichnen (man kann ihnen also den Befehl geben "Zeichne dich selbst!") sowie zum Erstellen von Texturkoordinaten (Quadriken kann man somit auch texturieren).

Gibt es Nachteile?

  • Die geometrischen Objekte die Quadriken darstellen sind noch nicht vollständig optimiert. D.h. eine selbst geschriebene Procedure, die eine Kugel rendert, ist unter Umständen schneller als eine Quadrik, die sich selbst als Kugel rendert.
  • Nicht alle Funktionen die eine Quadrik hat benötigt man immer.

Was sind die Vorteile?

  • Wenn man schnell mal eine Kugel oder andere komplexe Geometrieobjekte benötigt, stehen Quadriken immer bereit.
  • Sie sind leicht verfügbar und
  • sie funktionieren.
  • Zum Testen und Experimentieren sind sie ideal geeignet.

Wie erstelle ich Quadriken?

Quadriken sind Teil der GLU die mit OpenGL ausgeliefert wird. Wenn als OpenGL-Header der Header von DelphiGL.com (dglOpenGL.pas) eingesetzt wird, sind die entsprechenden Funktionen immer dann verfügbar, wenn auch die normalen OpenGL Funktionen (GL) zur Verfügung stehen.

Nachfolgend alle Befehle die speziell mit Quadriken zusammenhängen:

OpenGL Befehle