glLoadMatrix: Unterschied zwischen den Versionen
(→Beispiel-Quelltext: Record bisl stylischer Formatiert) |
Slyh (Diskussion | Beiträge) K (Typo, Kommas, Satzbau) |
||
Zeile 3: | Zeile 3: | ||
<br> | <br> | ||
== Name == | == Name == | ||
− | '''glLoadMatrix''' - ersetzt die aktuelle Matrix durch eine | + | '''glLoadMatrix''' - ersetzt die aktuelle Matrix durch eine beliebige Matrix. |
<br> | <br> | ||
Zeile 16: | Zeile 16: | ||
<tr> | <tr> | ||
<td>''m''</td> | <td>''m''</td> | ||
− | <td>Zeiger auf eine 4x4 Matrix welche die aktuelle Matrix ersetzen soll.</td> | + | <td>Ein Zeiger auf eine 4x4-Matrix, welche die aktuelle Matrix ersetzen soll.</td> |
</tr> | </tr> | ||
</table> | </table> | ||
Zeile 22: | Zeile 22: | ||
<br> | <br> | ||
== Beschreibung == | == Beschreibung == | ||
− | '''glLoadMatrix''' ersetzt die aktuelle Matrix durch die, | + | '''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.<br> |
− | + | Der Parameter ''m'' zeigt auf eine 4x4-Matrix welche spaltenweise Fließkommazahlen mit einfacher oder doppelter Genauigkeit (Single oder Double) enthält.<br> | |
− | Der Parameter ''m'' zeigt auf eine 4x4 Matrix welche spaltenweise Fließkommazahlen mit einfacher oder doppelter Genauigkeit | ||
− | Die Matrix | + | Die Matrix muß also in der folgenden Reihenfolge gespeichert sein:<br> |
+- -+ | +- -+ | ||
Zeile 36: | Zeile 35: | ||
===Beispiel-Quelltext=== | ===Beispiel-Quelltext=== | ||
+ | Als Ersatz für [[glPushMatrix]] / [[glPopMatrix]]: | ||
{| border="0" | {| border="0" | ||
− | |||
| | | | ||
<b>type</b> | <b>type</b> | ||
Zeile 52: | Zeile 51: | ||
glLoadIdentity; <br /> | glLoadIdentity; <br /> | ||
glTranslatef(-0.8,-0.5,0); <font color="#000080"><i>//Vorgebene Startposition</i></font> | glTranslatef(-0.8,-0.5,0); <font color="#000080"><i>//Vorgebene Startposition</i></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> | ||
glColor3f(1,0,0); | glColor3f(1,0,0); | ||
Zeile 61: | Zeile 60: | ||
glvertex3f(0,0 ,-2); | glvertex3f(0,0 ,-2); | ||
glend; | glend; | ||
− | glLoadMatrixf(@TempMatrix);<font color="#000080"><i>//Gespeicherte Matrix wird wieder geladen<br /> | + | glLoadMatrixf(@TempMatrix);<font color="#000080"><i> //Gespeicherte Matrix wird wieder geladen<br /> |
{Grünes Dreieck}</i></font> | {Grünes Dreieck}</i></font> | ||
glColor3f(0,1,0); | glColor3f(0,1,0); | ||
Zeile 75: | Zeile 74: | ||
== Fehlermeldungen == | == Fehlermeldungen == | ||
− | GL_INVALID_OPERATION wird generiert wenn glLoadMatrix innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | + | GL_INVALID_OPERATION wird generiert, wenn ''glLoadMatrix'' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. |
<br> | <br> | ||
== Zugehörige Wertrückgaben == | == Zugehörige Wertrückgaben == |
Version vom 27. Oktober 2005, 21:15 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