glLoadMatrix: Unterschied zwischen den Versionen
K (=Beispiel-Quelltext=) |
Flash (Diskussion | Beiträge) K (Formatierung, Matrixaufbau) |
||
Zeile 9: | Zeile 9: | ||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
---- | ---- | ||
− | '''procedure''' glLoadMatrixd('''const''' ''m'': PGLdouble); <br> | + | '''procedure''' glLoadMatrixd('''const''' ''m'': PGLdouble); <br> |
− | '''procedure''' glLoadMatrixf('''const''' ''m'': PGLfloat); | + | '''procedure''' glLoadMatrixf('''const''' ''m'': PGLfloat); |
<br> | <br> | ||
Zeile 28: | Zeile 28: | ||
Die aktuelle Matrix ist entweder die Projektionsmatrix, die Modelviewmatrix oder die Texturematrix (je nach aktuellem Matrixmodus ([[glMatrixMode]]) ). <br> | Die aktuelle Matrix ist entweder die Projektionsmatrix, die Modelviewmatrix oder die Texturematrix (je nach aktuellem Matrixmodus ([[glMatrixMode]]) ). <br> | ||
Der Parameter ''m'' zeigt auf eine 4x4 Matrix welche spaltenweise Fließkommazahlen mit einfacher oder doppelter Genauigkeit enthält (single oder double). <br> | Der Parameter ''m'' zeigt auf eine 4x4 Matrix welche spaltenweise Fließkommazahlen mit einfacher oder doppelter Genauigkeit enthält (single oder double). <br> | ||
− | + | ||
+ | Die Matrix wird somit in folgender Reihenfolge gespeichert:<br> | ||
+ | |||
+ | +- -+ | ||
+ | | 0 4 8 12 | | ||
+ | | 1 5 9 13 | | ||
+ | | 2 6 10 14 | | ||
+ | | 3 7 11 15 | | ||
+ | +- -+ | ||
+ | |||
===Beispiel-Quelltext=== | ===Beispiel-Quelltext=== | ||
{| border="1" | {| border="1" |
Version vom 31. Juli 2004, 01:21 Uhr
Inhaltsverzeichnis
glLoadMatrix
glLoadMatrix
glLoadMatrix - ersetzt die aktuelle Matrix durch eine Beliebige Matrix.
Delphi-Spezifikation
procedure glLoadMatrixd(const m: PGLdouble);
procedure glLoadMatrixf(const m: PGLfloat);
Parameter
m | Zeiger auf eine 4x4 Matrix welche die aktuelle Matrix ersetzen soll. |
Beschreibung
glLoadMatrix ersetzt die aktuelle Matrix durch die, über m definierte.
Die aktuelle Matrix ist entweder die Projektionsmatrix, die Modelviewmatrix oder die Texturematrix (je nach aktuellem Matrixmodus (glMatrixMode) ).
Der Parameter m zeigt auf eine 4x4 Matrix welche spaltenweise Fließkommazahlen mit einfacher oder doppelter Genauigkeit enthält (single oder double).
Die Matrix wird somit in folgender Reihenfolge gespeichert:
+- -+ | 0 4 8 12 | | 1 5 9 13 | | 2 6 10 14 | | 3 7 11 15 | +- -+
Beispiel-Quelltext
type TVektor = record X,Y,Z,W:glFloat end; TMatrix = array[(mat_XAchse,mat_YAchse,mat_ZAchse,mat_Position)] of TVertex; var TempMatrix:TMatrix; begin glClearColor(0,0,0,0); glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity; glTranslatef(-0.8,-0.5,0); //Vorgebene Startposition glGetFloatv(GL_MODELVIEW_MATRIX,@TempMatrix);//Matrix wird gespeichert {Rotes Dreieck} glColor3f(1,0,0); gltranslatef(1,0,0); glbegin(GL_TRIANGLES); glvertex3f(1,0 ,-2); glvertex3f(0,1 ,-2); glvertex3f(0,0 ,-2); glend; glLoadMatrixf(@TempMatrix);//Gespeicherte Matrix wird wieder geladen {Grünes Dreieck} glColor3f(0,1,0); glbegin(GL_TRIANGLES); glvertex3f(1,0 ,-2); glvertex3f(0,1 ,-2); glvertex3f(0,0 ,-2); glend; end; |
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