<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://wiki.delphigl.com/index.php?action=history&amp;feed=atom&amp;title=Matrixstack</id>
		<title>Matrixstack - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.delphigl.com/index.php?action=history&amp;feed=atom&amp;title=Matrixstack"/>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Matrixstack&amp;action=history"/>
		<updated>2026-04-20T19:33:07Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in DGL Wiki</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Matrixstack&amp;diff=26312&amp;oldid=prev</id>
		<title>Komoluna: liegen -&gt; liegt</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Matrixstack&amp;diff=26312&amp;oldid=prev"/>
				<updated>2015-05-29T21:48:50Z</updated>
		
		<summary type="html">&lt;p&gt;liegen -&amp;gt; liegt&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 29. Mai 2015, 21:48 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot; &gt;Zeile 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Client - Server Problem==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Client - Server Problem==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der gerade beschriebene Matrixstack befindet sich auf dem Server (OpenGL ist ein Client Server System. Siehe [[OpenGL|Beschreibung von OpenGL]]). &amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der gerade beschriebene Matrixstack befindet sich auf dem Server (OpenGL ist ein Client Server System. Siehe [[OpenGL|Beschreibung von OpenGL]]). &amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Es gibt aber auch einen Stack der lokal beim Clienten &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;liegen &lt;/del&gt;(dieser Speichert Clientattribute). Für diesen Stack gibt es die Befehle [[glPushClientAttrib]] und [[glPopClientAttrib]].''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;''Es gibt aber auch einen Stack der lokal beim Clienten &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;liegt &lt;/ins&gt;(dieser Speichert Clientattribute). Für diesen Stack gibt es die Befehle [[glPushClientAttrib]] und [[glPopClientAttrib]].''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Komoluna</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Matrixstack&amp;diff=25953&amp;oldid=prev</id>
		<title>Glawesome: Hinweis zur Deprecation hinzugefüt, Stack verlinkt</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Matrixstack&amp;diff=25953&amp;oldid=prev"/>
				<updated>2013-11-30T13:09:42Z</updated>
		
		<summary type="html">&lt;p&gt;Hinweis zur Deprecation hinzugefüt, &lt;a href=&quot;/index.php/Stack&quot; title=&quot;Stack&quot;&gt;Stack&lt;/a&gt; verlinkt&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 30. November 2013, 13:09 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Hinweis|Seit Version 3.0 bietet OpenGL keinen eigenen Matrix-Stack mehr. Wer diese oder neuere OpenGL-Versionen nutzen möchte, muss ihn daher bei Bedarf selbst implementieren. Moderne Programmiersprachen bringen bereits Templates/generische Klassen für die Datenstruktur [[Stack]] an, was eine Menge Arbeit und Fehler erspart. In C++ z.B. std::stack.}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Was ist das?==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Was ist das?==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die deutsche Übersetzung von '''STACK''' erklärt fast schon alles: Ein Stack ist ein Stapel. Und ein Matrixstack entsprechend ein Stapel mit Matrizen. Das besondere an der Datenstruktur '''Stack''' ist:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die deutsche Übersetzung von '''STACK''' erklärt fast schon alles: Ein &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;Stack&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;ist ein Stapel. Und ein Matrixstack entsprechend ein Stapel mit Matrizen. Das besondere an der Datenstruktur '''Stack''' ist:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Neue Werte werden auf den Stack gelegt (liegen immer ganz oben!)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Neue Werte werden auf den Stack gelegt (liegen immer ganz oben!)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Werte können nur von der Spitze des Stacks entnommen werden (Speicherprinzip '''LIFO''' ''Last In First Out'')&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Werte können nur von der Spitze des Stacks entnommen werden (Speicherprinzip '''LIFO''' ''Last In First Out'')&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Glawesome</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Matrixstack&amp;diff=12905&amp;oldid=prev</id>
		<title>Flash: Neuer Artikel</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Matrixstack&amp;diff=12905&amp;oldid=prev"/>
				<updated>2005-05-02T17:53:35Z</updated>
		
		<summary type="html">&lt;p&gt;Neuer Artikel&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Was ist das?==&lt;br /&gt;
Die deutsche Übersetzung von '''STACK''' erklärt fast schon alles: Ein Stack ist ein Stapel. Und ein Matrixstack entsprechend ein Stapel mit Matrizen. Das besondere an der Datenstruktur '''Stack''' ist:&lt;br /&gt;
* Neue Werte werden auf den Stack gelegt (liegen immer ganz oben!)&lt;br /&gt;
* Werte können nur von der Spitze des Stacks entnommen werden (Speicherprinzip '''LIFO''' ''Last In First Out'')&lt;br /&gt;
* Zugriff auf Daten die nicht ganz oben liegen ist nicht erlaubt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was nützt das?==&lt;br /&gt;
Durch den '''LIFO''' Zugriff erreicht man eine Art Hierarchie. Dadurch ist es leicht möglich &amp;quot;die letzte Matrix&amp;quot; wiederherzustellen. Sie liegt ja unter der aktuellen Matrix auf dem Stack.&lt;br /&gt;
&lt;br /&gt;
OpenGL kann verschieden viele Matrizen auf einen Stack legen. Wieviel genau kann mittels [[glGet]] und den Token GL_MAX_MODELVIEW_STACK_DEPTH, GL_MAX_PROJECTION_STACK_DEPTH bzw. GL_MAX_TEXTURE_STACK_DEPTH ermittelt werden. &amp;lt;br&amp;gt;&lt;br /&gt;
''(Es gibt noch weitere Stacks. Z.B. den Name Stack und den Attribut Stack)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Wie arbeite ich mit dem Matrixstack?==&lt;br /&gt;
Wer glaubt, dass man nichts machen müsste um auf den Matrixstack zu zugreifen der liegt richtig. Allerdings nur bezüglich der obersten Matrix. Wenn man eine Matrix auf den Stack legen will oder die letzte vom Stack holen will, dann benötigt man noch die beiden Befehle [[glPushMatrix]] und [[glPopMatrix]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Client - Server Problem==&lt;br /&gt;
Der gerade beschriebene Matrixstack befindet sich auf dem Server (OpenGL ist ein Client Server System. Siehe [[OpenGL|Beschreibung von OpenGL]]). &amp;lt;br&amp;gt;&lt;br /&gt;
''Es gibt aber auch einen Stack der lokal beim Clienten liegen (dieser Speichert Clientattribute). Für diesen Stack gibt es die Befehle [[glPushClientAttrib]] und [[glPopClientAttrib]].''&lt;/div&gt;</summary>
		<author><name>Flash</name></author>	</entry>

	</feed>