glLoadMatrix: Unterschied zwischen den Versionen
Slyh (Diskussion | Beiträge) K (Typo, Kommas, Satzbau) |
DGLBot (Diskussion | Beiträge) K (Bot: konvertiere/korrigiere HTML) |
||
Zeile 38: | Zeile 38: | ||
{| border="0" | {| border="0" | ||
| | | | ||
− | + | '''type''' | |
− | TVektor = | + | TVektor = '''record''' |
X,Y,Z,W : glFloat | X,Y,Z,W : glFloat | ||
− | + | '''end'''; | |
− | TMatrix = | + | TMatrix = '''array'''[(mat_XAchse,mat_YAchse,mat_ZAchse,mat_Position)] '''of''' TVektor;<br /> |
− | + | '''var''' | |
TempMatrix:TMatrix; | TempMatrix:TMatrix; | ||
− | + | '''begin''' | |
glClearColor(0,0,0,0); | glClearColor(0,0,0,0); | ||
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); | glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); | ||
glMatrixMode(GL_MODELVIEW); | glMatrixMode(GL_MODELVIEW); | ||
glLoadIdentity; <br /> | glLoadIdentity; <br /> | ||
− | glTranslatef(-0.8,-0.5,0); <font color="#000080"> | + | glTranslatef(-0.8,-0.5,0); <font color="#000080">''//Vorgebene Startposition''</font> |
glGetFloatv(GL_MODELVIEW_MATRIX,@TempMatrix);<font color="#000080"><i> //Matrix wird gespeichert<br /> | glGetFloatv(GL_MODELVIEW_MATRIX,@TempMatrix);<font color="#000080"><i> //Matrix wird gespeichert<br /> | ||
{Rotes Dreieck}</i></font> | {Rotes Dreieck}</i></font> | ||
Zeile 68: | Zeile 68: | ||
glvertex3f(0,0 ,-2); | glvertex3f(0,0 ,-2); | ||
glend; | glend; | ||
− | + | '''end;''' | |
|} | |} | ||
Version vom 3. Dezember 2005, 18:04 Uhr
Inhaltsverzeichnis
glLoadMatrix
Name
glLoadMatrix - ersetzt die aktuelle Matrix durch eine beliebige Matrix.
Delphi-Spezifikation
procedure glLoadMatrixd(const m: PGLdouble);
procedure glLoadMatrixf(const m: PGLfloat);
Parameter
m | Ein Zeiger auf eine 4x4-Matrix, welche die aktuelle Matrix ersetzen soll. |
Beschreibung
glLoadMatrix ersetzt die aktuelle Matrix durch die 4x4-Matrix, auf die m zeigt. Abhängig vom aktuellen Matrix-Modus (glMatrixMode) wird dadurch die Projektions-Matrix, die Modelview-Matrix oder die Texture-Matrix ersetzt.
Der Parameter m zeigt auf eine 4x4-Matrix welche spaltenweise Fließkommazahlen mit einfacher oder doppelter Genauigkeit (Single oder Double) enthält.
Die Matrix muß also in der folgenden Reihenfolge gespeichert sein:
+- -+ | 0 4 8 12 | | 1 5 9 13 | | 2 6 10 14 | | 3 7 11 15 | +- -+
Beispiel-Quelltext
Als Ersatz für glPushMatrix / glPopMatrix:
type TVektor = record X,Y,Z,W : glFloat end; TMatrix = array[(mat_XAchse,mat_YAchse,mat_ZAchse,mat_Position)] of TVektor; |
Fehlermeldungen
GL_INVALID_OPERATION wird generiert, wenn glLoadMatrix innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
Zugehörige Wertrückgaben
glGet mit Token GL_MATRIX_MODE
glGet mit Token GL_MODELVIEW_MATRIX
glGet mit Token GL_PROJECTION_MATRIX
glGet mit Token GL_TEXTURE_MATRIX