https://wiki.delphigl.com/index.php?title=Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt&feed=atom&action=historyTutorial Objekt gedreht und dennoch nach vorne bewegt - Versionsgeschichte2024-03-28T17:13:21ZVersionsgeschichte dieser Seite in DGL WikiMediaWiki 1.27.4https://wiki.delphigl.com/index.php?title=Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt&diff=25485&oldid=prevOpenglerf am 27. Februar 2012 um 19:26 Uhr2012-02-27T19:26:19Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 27. Februar 2012, 19:26 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l3" >Zeile 3:</td>
<td colspan="2" class="diff-lineno">Zeile 3:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>Beim Erstellen eines 3D-Games steht man irgendwann vor einem gewaltigen Problem: Ich kann zwar mein Objekt drehen und Transformieren, aber was mache ich, wenn sich das Objekt an der aktuellen Position um z.B. 15 Grad drehen und trotzdem in seine Blick-Richtung bewegen soll?!?</div></td><td class='diff-marker'> </td><td style="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;"><div>Beim Erstellen eines 3D-Games steht man irgendwann vor einem gewaltigen Problem: Ich kann zwar mein Objekt drehen und Transformieren, aber was mache ich, wenn sich das Objekt an der aktuellen Position um z.B. 15 Grad drehen und trotzdem in seine Blick-Richtung bewegen soll?!?</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="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;"><div>Die Lösung des Problems heißt: Look-Vektor!!! Look was?!? Keine Panik, ich <del class="diffchange diffchange-inline">wird</del>'s euch erklären.</div></td><td class='diff-marker'>+</td><td style="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;"><div>Die Lösung des Problems heißt: Look-Vektor!!! Look was?!? Keine Panik, ich <ins class="diffchange diffchange-inline">werd</ins>'s euch erklären.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>==Der Richtungs-Vektor==</div></td><td class='diff-marker'> </td><td style="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;"><div>==Der Richtungs-Vektor==</div></td></tr>
</table>Openglerfhttps://wiki.delphigl.com/index.php?title=Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt&diff=24023&oldid=prevFlash: /* Und wie geht's jetzt weiter? */2009-08-04T15:19:02Z<p><span dir="auto"><span class="autocomment">Und wie geht's jetzt weiter?</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 4. August 2009, 15:19 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l213" >Zeile 213:</td>
<td colspan="2" class="diff-lineno">Zeile 213:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>SchodMC</div></td><td class='diff-marker'> </td><td style="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;"><div>SchodMC</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="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;"><div><ins style="font-weight: bold; text-decoration: none;">==Anhang==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="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;"><div><ins style="font-weight: bold; text-decoration: none;">Hier findet ihr den Sourcode zu diesem Tutorial: {{ArchivLink|tut_objmov_src_api}}</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>{{TUTORIAL_NAVIGATION| [[Tutorial Nachsitzen]] | [[Tutorial Objekt immer um eigene Achse drehen]]}}</div></td><td class='diff-marker'> </td><td style="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;"><div>{{TUTORIAL_NAVIGATION| [[Tutorial Nachsitzen]] | [[Tutorial Objekt immer um eigene Achse drehen]]}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>[[Kategorie:Tutorial|Objekt gedreht]]</div></td><td class='diff-marker'> </td><td style="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;"><div>[[Kategorie:Tutorial|Objekt gedreht]]</div></td></tr>
</table>Flashhttps://wiki.delphigl.com/index.php?title=Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt&diff=23841&oldid=prevDeepCopy: /* Das ganze ist ein auf und ab... */2009-07-09T03:29:44Z<p><span dir="auto"><span class="autocomment">Das ganze ist ein auf und ab...</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 9. Juli 2009, 03:29 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l157" >Zeile 157:</td>
<td colspan="2" class="diff-lineno">Zeile 157:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>Lasst euch von der letzten Zeile nicht irritieren. Es gibt auch noch Vektoren welche einen W-Wert haben. Die RotateVector Funktion arbeitet mit einem solchen Vektor, da bei der Rotation ein Vektor mit einer Rotations-Matrix verrechnet wird, und diese eben ein 4x4 Feld hat. Aus diesem Grund wurde auch der TVector4f Typ verwendet. -> Ignoriert es einfach, der Wert wird sowieso nicht benötigt und sollte deswegen auf 0 stehen.</div></td><td class='diff-marker'> </td><td style="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;"><div>Lasst euch von der letzten Zeile nicht irritieren. Es gibt auch noch Vektoren welche einen W-Wert haben. Die RotateVector Funktion arbeitet mit einem solchen Vektor, da bei der Rotation ein Vektor mit einer Rotations-Matrix verrechnet wird, und diese eben ein 4x4 Feld hat. Aus diesem Grund wurde auch der TVector4f Typ verwendet. -> Ignoriert es einfach, der Wert wird sowieso nicht benötigt und sollte deswegen auf 0 stehen.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="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;"><div>Nun wird der Vektor um die 3 Achsen gedreht. Da die RotateVector-Funktion einen "Standard-Vektor" (also mit X, Y und Z Wert) benötigt um zu wissen, um welche Achse gedreht werden soll, sind diese am Anfang der Prozedur im const-Bereich als Rot[Achse]Axis definiert. Das ist übrigens das gleiche wie bei glRotate, nur das dort die X, Y und Z Werte getrennt und in einem Vektor zusammengefasst übergeben werden. Hier ist es übrigens auch sehr wichtig, die umgekehrte Reihenfolge zu verwenden. Also zuerst Drehung um die Z, dann um die Y und zum Schluss um die X Achse. Warum weis ich leider auch nicht. Der Winkel muss hier in einen RAD konvertiert werden, da die Funktion nicht mit GRAD angaben arbeitet. Außerdem muss der Winkel noch Invertiert, also mit einem - versehen werden, da sonst der Vektor in die entgegengesetzte Richtung zum Objekt gedreht wird. Ist nicht das was wir wollen. Warum genau, kann ich nicht so direkt erklären. Aber man muss auch nicht alles wissen ;o) Wenn es aber doch jemand weis warum, darf er mir das durchaus mitteilen. Ich lerne gerne dazu!</div></td><td class='diff-marker'>+</td><td style="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;"><div>Nun wird der Vektor um die 3 Achsen gedreht. Da die RotateVector-Funktion einen "Standard-Vektor" (also mit X, Y und Z Wert) benötigt um zu wissen, um welche Achse gedreht werden soll, sind diese am Anfang der Prozedur im const-Bereich als Rot[Achse]Axis definiert. Das ist übrigens das gleiche wie bei glRotate, nur das dort die X, Y und Z Werte getrennt und <ins class="diffchange diffchange-inline">nicht </ins>in einem Vektor zusammengefasst übergeben werden. Hier ist es übrigens auch sehr wichtig, die umgekehrte Reihenfolge zu verwenden. Also zuerst Drehung um die Z, dann um die Y und zum Schluss um die X Achse. Warum weis ich leider auch nicht. Der Winkel muss hier in einen RAD konvertiert werden, da die Funktion nicht mit GRAD angaben arbeitet. Außerdem muss der Winkel noch Invertiert, also mit einem - versehen werden, da sonst der Vektor in die entgegengesetzte Richtung zum Objekt gedreht wird. Ist nicht das was wir wollen. Warum genau, kann ich nicht so direkt erklären. Aber man muss auch nicht alles wissen ;o) Wenn es aber doch jemand weis warum, darf er mir das durchaus mitteilen. Ich lerne gerne dazu!</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>   // Den Look-Vektor zuerst um die Z-Achse...</div></td><td class='diff-marker'> </td><td style="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;"><div>   // Den Look-Vektor zuerst um die Z-Achse...</div></td></tr>
</table>DeepCopyhttps://wiki.delphigl.com/index.php?title=Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt&diff=23834&oldid=prevDeepCopy: /* Bevor wir anfangen... */2009-07-02T00:52:30Z<p><span dir="auto"><span class="autocomment">Bevor wir anfangen...</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 2. Juli 2009, 00:52 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l15" >Zeile 15:</td>
<td colspan="2" class="diff-lineno">Zeile 15:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>*Um die Vektor-Rotation durchführen zu können, verwende ich die Geometry.pas von GLScene. Bei dieser Datei handelt es sich um eine Ansammlung ziemlich nützlicher mathematischer Prozeduren welche teilweise sogar für 3Dnow ™ optimiert sind. Ursprünglich (ohne Optimierung für 3Dnow ™) kommt diese Unit von Mike Lischke.</div></td><td class='diff-marker'> </td><td style="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;"><div>*Um die Vektor-Rotation durchführen zu können, verwende ich die Geometry.pas von GLScene. Bei dieser Datei handelt es sich um eine Ansammlung ziemlich nützlicher mathematischer Prozeduren welche teilweise sogar für 3Dnow ™ optimiert sind. Ursprünglich (ohne Optimierung für 3Dnow ™) kommt diese Unit von Mike Lischke.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>*Ich gehe davon aus, dass ihr bereits wisst, wie ein Objekt mit Hilfe von glRotate gedreht, glTranslate positioniert und Objekte mit den entsprechenden Funktionen darstellt. Solltet ihr über dieses Wissen nicht verfügen, schaut euch die anderen Tutorials an. (z.B. [[Tutorial Matrix2]])</div></td><td class='diff-marker'> </td><td style="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;"><div>*Ich gehe davon aus, dass ihr bereits wisst, wie ein Objekt mit Hilfe von glRotate gedreht, glTranslate positioniert und Objekte mit den entsprechenden Funktionen darstellt. Solltet ihr über dieses Wissen nicht verfügen, schaut euch die anderen Tutorials an. (z.B. [[Tutorial Matrix2]])</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="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;"><div>*Ihr wisst bescheid, was ein Vektor ist und was er macht. Wenn nicht: ein Vektor ist ein Pfeil von Punkt A auf Punkt B. A <del class="diffchange diffchange-inline">ist meistens </del>der 0-Punkt des globalen Koordinatensystems(und der Ursprung jedes Nullvektors) und B die Position eures Objektes im 3D-Raum, auch genannt <del class="diffchange diffchange-inline">Nullvektor</del>. Ok, das war der Vektor in Grob-Form.</div></td><td class='diff-marker'>+</td><td style="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;"><div>*Ihr wisst bescheid, was ein Vektor ist und was er macht. Wenn nicht: ein Vektor ist ein Pfeil von Punkt A auf Punkt B. <ins class="diffchange diffchange-inline">Wenn </ins>A der 0-Punkt des globalen Koordinatensystems <ins class="diffchange diffchange-inline">ist </ins>(und <ins class="diffchange diffchange-inline">damit </ins>der Ursprung jedes Nullvektors) und B die Position eures Objektes im 3D-Raum, <ins class="diffchange diffchange-inline">dann wird der Vektor von Punkt A nach Punkt B </ins>auch <ins class="diffchange diffchange-inline">Nullvektor </ins>genannt. Ok, das war der Vektor in Grob-Form.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>*Das Ganze baut auf das API-Tutorial 2 auf. Es wurden eigentlich nur die Funktionen glDraw und ProcessKeys geändert.</div></td><td class='diff-marker'> </td><td style="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;"><div>*Das Ganze baut auf das API-Tutorial 2 auf. Es wurden eigentlich nur die Funktionen glDraw und ProcessKeys geändert.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
</table>DeepCopyhttps://wiki.delphigl.com/index.php?title=Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt&diff=23833&oldid=prevDeepCopy: /* Bevor wir anfangen... */2009-07-02T00:45:53Z<p><span dir="auto"><span class="autocomment">Bevor wir anfangen...</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 2. Juli 2009, 00:45 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l15" >Zeile 15:</td>
<td colspan="2" class="diff-lineno">Zeile 15:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>*Um die Vektor-Rotation durchführen zu können, verwende ich die Geometry.pas von GLScene. Bei dieser Datei handelt es sich um eine Ansammlung ziemlich nützlicher mathematischer Prozeduren welche teilweise sogar für 3Dnow ™ optimiert sind. Ursprünglich (ohne Optimierung für 3Dnow ™) kommt diese Unit von Mike Lischke.</div></td><td class='diff-marker'> </td><td style="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;"><div>*Um die Vektor-Rotation durchführen zu können, verwende ich die Geometry.pas von GLScene. Bei dieser Datei handelt es sich um eine Ansammlung ziemlich nützlicher mathematischer Prozeduren welche teilweise sogar für 3Dnow ™ optimiert sind. Ursprünglich (ohne Optimierung für 3Dnow ™) kommt diese Unit von Mike Lischke.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>*Ich gehe davon aus, dass ihr bereits wisst, wie ein Objekt mit Hilfe von glRotate gedreht, glTranslate positioniert und Objekte mit den entsprechenden Funktionen darstellt. Solltet ihr über dieses Wissen nicht verfügen, schaut euch die anderen Tutorials an. (z.B. [[Tutorial Matrix2]])</div></td><td class='diff-marker'> </td><td style="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;"><div>*Ich gehe davon aus, dass ihr bereits wisst, wie ein Objekt mit Hilfe von glRotate gedreht, glTranslate positioniert und Objekte mit den entsprechenden Funktionen darstellt. Solltet ihr über dieses Wissen nicht verfügen, schaut euch die anderen Tutorials an. (z.B. [[Tutorial Matrix2]])</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="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;"><div>*Ihr wisst bescheid, was ein Vektor ist und was er macht. Wenn nicht: ein Vektor ist ein Pfeil von Punkt A auf Punkt B. A ist meistens der 0-Punkt des globalen Koordinatensystems und B die Position eures Objektes im 3D-Raum, auch genannt Nullvektor. Ok, das war der Vektor in Grob-Form.</div></td><td class='diff-marker'>+</td><td style="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;"><div>*Ihr wisst bescheid, was ein Vektor ist und was er macht. Wenn nicht: ein Vektor ist ein Pfeil von Punkt A auf Punkt B. A ist meistens der 0-Punkt des globalen Koordinatensystems<ins class="diffchange diffchange-inline">(und der Ursprung jedes Nullvektors) </ins>und B die Position eures Objektes im 3D-Raum, auch genannt Nullvektor. Ok, das war der Vektor in Grob-Form.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>*Das Ganze baut auf das API-Tutorial 2 auf. Es wurden eigentlich nur die Funktionen glDraw und ProcessKeys geändert.</div></td><td class='diff-marker'> </td><td style="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;"><div>*Das Ganze baut auf das API-Tutorial 2 auf. Es wurden eigentlich nur die Funktionen glDraw und ProcessKeys geändert.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
</table>DeepCopyhttps://wiki.delphigl.com/index.php?title=Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt&diff=23832&oldid=prevDeepCopy: /* Und los gehts */2009-07-01T23:17:17Z<p><span dir="auto"><span class="autocomment">Und los gehts</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 1. Juli 2009, 23:17 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l39" >Zeile 39:</td>
<td colspan="2" class="diff-lineno">Zeile 39:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>So, nun kommen wir zu glDraw. Auch hier läuft alles nach dem alt bekannten System ab. Bildschirm und Z-Buffer löschen, Objekt positionieren, rotieren und dann zeichnen. Letzteres wurde von mir in die Prozedur DrawTheObject ausgelagert, um die glDraw nicht ganz so unübersichtlich zu gestallten. Es gibt eigentlich nur zwei Erweiterungen zum Tutorial 2.</div></td><td class='diff-marker'> </td><td style="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;"><div>So, nun kommen wir zu glDraw. Auch hier läuft alles nach dem alt bekannten System ab. Bildschirm und Z-Buffer löschen, Objekt positionieren, rotieren und dann zeichnen. Letzteres wurde von mir in die Prozedur DrawTheObject ausgelagert, um die glDraw nicht ganz so unübersichtlich zu gestallten. Es gibt eigentlich nur zwei Erweiterungen zum Tutorial 2.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="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;"><div>Die erste: Das Objekt wird um die X, Y und Z Achse gedreht wird, je nach Wert der Rotations-Variablen. Dabei ist die Reichenfolge von Zuerst X, Y, Z einzuhalten, da es sonst zu unerwünschten Resultaten kommt. (Echt witzig. Probiert's mal aus ;o) ). Die zweite: für Translate werden nun nicht mehr Fix-Werte verwendet, sondern die aktuellen <del class="diffchange diffchange-inline">Verte </del>des Vektors welcher die aktuelle Position des Objektes beinhaltet.</div></td><td class='diff-marker'>+</td><td style="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;"><div>Die erste: Das Objekt wird um die X, Y und Z Achse gedreht wird, je nach Wert der Rotations-Variablen. Dabei ist die Reichenfolge von Zuerst X, Y, Z einzuhalten, da es sonst zu unerwünschten Resultaten kommt. (Echt witzig. Probiert's mal aus ;o) ). Die zweite: für Translate werden nun nicht mehr Fix-Werte verwendet, sondern die aktuellen <ins class="diffchange diffchange-inline">Werte </ins>des Vektors welcher die aktuelle Position des Objektes beinhaltet.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>glClearColor(0,0,0,0);</div></td><td class='diff-marker'> </td><td style="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;"><div>glClearColor(0,0,0,0);</div></td></tr>
</table>DeepCopyhttps://wiki.delphigl.com/index.php?title=Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt&diff=23831&oldid=prevDeepCopy: /* Und los gehts */2009-07-01T23:09:21Z<p><span dir="auto"><span class="autocomment">Und los gehts</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 1. Juli 2009, 23:09 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l30" >Zeile 30:</td>
<td colspan="2" class="diff-lineno">Zeile 30:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>Diese Variablen werden in der WndProc mit den Standard-Werten initialisiert. Dabei wird für den Positions-Vektor der Z Wert auf -5 gesetzt (um hinter das Near Clipping Plane zu kommen), damit das Objekt überhaupt erstmal sichtbar ist.</div></td><td class='diff-marker'> </td><td style="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;"><div>Diese Variablen werden in der WndProc mit den Standard-Werten initialisiert. Dabei wird für den Positions-Vektor der Z Wert auf -5 gesetzt (um hinter das Near Clipping Plane zu kommen), damit das Objekt überhaupt erstmal sichtbar ist.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="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;"><div>RotateX := 0;</div></td><td class='diff-marker'>+</td><td style="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;"><div><ins class="diffchange diffchange-inline">        </ins>RotateX := 0;</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>         RotateY := 0;</div></td><td class='diff-marker'> </td><td style="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;"><div>         RotateY := 0;</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>         RotateZ := 0;</div></td><td class='diff-marker'> </td><td style="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;"><div>         RotateZ := 0;</div></td></tr>
</table>DeepCopyhttps://wiki.delphigl.com/index.php?title=Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt&diff=23806&oldid=prevDeepCopy: /* Und los gehts */2009-06-25T15:02:23Z<p><span dir="auto"><span class="autocomment">Und los gehts</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 25. Juni 2009, 15:02 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l39" >Zeile 39:</td>
<td colspan="2" class="diff-lineno">Zeile 39:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>So, nun kommen wir zu glDraw. Auch hier läuft alles nach dem alt bekannten System ab. Bildschirm und Z-Buffer löschen, Objekt positionieren, rotieren und dann zeichnen. Letzteres wurde von mir in die Prozedur DrawTheObject ausgelagert, um die glDraw nicht ganz so unübersichtlich zu gestallten. Es gibt eigentlich nur zwei Erweiterungen zum Tutorial 2.</div></td><td class='diff-marker'> </td><td style="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;"><div>So, nun kommen wir zu glDraw. Auch hier läuft alles nach dem alt bekannten System ab. Bildschirm und Z-Buffer löschen, Objekt positionieren, rotieren und dann zeichnen. Letzteres wurde von mir in die Prozedur DrawTheObject ausgelagert, um die glDraw nicht ganz so unübersichtlich zu gestallten. Es gibt eigentlich nur zwei Erweiterungen zum Tutorial 2.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"></td><td class='diff-marker'> </td><td style="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;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="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;"><div>Die erste: Das Objekt wird um die X, Y und Z Achse gedreht wird, je nach Wert der Rotations-Variablen. Dabei ist die Reichenfolge von Zuerst X, Y, Z einzuhalten, da es sonst unerwünschten Resultaten kommt. (Echt witzig. Probiert's mal aus ;o) ). Die zweite: für Translate werden nun nicht mehr Fix-Werte verwendet, sondern die aktuellen Verte des Vektors welcher die aktuelle Position des Objektes beinhaltet.</div></td><td class='diff-marker'>+</td><td style="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;"><div>Die erste: Das Objekt wird um die X, Y und Z Achse gedreht wird, je nach Wert der Rotations-Variablen. Dabei ist die Reichenfolge von Zuerst X, Y, Z einzuhalten, da es sonst <ins class="diffchange diffchange-inline">zu </ins>unerwünschten Resultaten kommt. (Echt witzig. Probiert's mal aus ;o) ). Die zweite: für Translate werden nun nicht mehr Fix-Werte verwendet, sondern die aktuellen Verte des Vektors welcher die aktuelle Position des Objektes beinhaltet.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>glClearColor(0,0,0,0);</div></td><td class='diff-marker'> </td><td style="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;"><div>glClearColor(0,0,0,0);</div></td></tr>
</table>DeepCopyhttps://wiki.delphigl.com/index.php?title=Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt&diff=23805&oldid=prevDeepCopy: Änderung 23804 von DeepCopy (Diskussion) wurde rückgängig gemacht.2009-06-25T13:00:08Z<p>Änderung 23804 von <a href="/index.php/Spezial:Beitr%C3%A4ge/DeepCopy" title="Spezial:Beiträge/DeepCopy">DeepCopy</a> (<a href="/index.php?title=Benutzer_Diskussion:DeepCopy&action=edit&redlink=1" class="new" title="Benutzer Diskussion:DeepCopy (Seite nicht vorhanden)">Diskussion</a>) wurde rückgängig gemacht.</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 25. Juni 2009, 13:00 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l28" >Zeile 28:</td>
<td colspan="2" class="diff-lineno">Zeile 28:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>   PosVect  : TVector3f;        // Vector mit der Position des Objektes.</div></td><td class='diff-marker'> </td><td style="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;"><div>   PosVect  : TVector3f;        // Vector mit der Position des Objektes.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div></source></div></td><td class='diff-marker'> </td><td style="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;"><div></source></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="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;"><div>Diese Variablen werden in der WndProc mit den Standard-Werten initialisiert. Dabei wird für den Positions-Vektor der Z Wert auf -5 gesetzt (um <del class="diffchange diffchange-inline">vor </del>das Near Clipping Plane zu kommen), damit das Objekt überhaupt erstmal sichtbar ist.</div></td><td class='diff-marker'>+</td><td style="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;"><div>Diese Variablen werden in der WndProc mit den Standard-Werten initialisiert. Dabei wird für den Positions-Vektor der Z Wert auf -5 gesetzt (um <ins class="diffchange diffchange-inline">hinter </ins>das Near Clipping Plane zu kommen), damit das Objekt überhaupt erstmal sichtbar ist.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>RotateX := 0;</div></td><td class='diff-marker'> </td><td style="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;"><div>RotateX := 0;</div></td></tr>
</table>DeepCopyhttps://wiki.delphigl.com/index.php?title=Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt&diff=23804&oldid=prevDeepCopy: /* Und los gehts */2009-06-25T12:52:23Z<p><span dir="auto"><span class="autocomment">Und los gehts</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 25. Juni 2009, 12:52 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l28" >Zeile 28:</td>
<td colspan="2" class="diff-lineno">Zeile 28:</td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>   PosVect  : TVector3f;        // Vector mit der Position des Objektes.</div></td><td class='diff-marker'> </td><td style="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;"><div>   PosVect  : TVector3f;        // Vector mit der Position des Objektes.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div></source></div></td><td class='diff-marker'> </td><td style="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;"><div></source></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="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;"><div>Diese Variablen werden in der WndProc mit den Standard-Werten initialisiert. Dabei wird für den Positions-Vektor der Z Wert auf -5 gesetzt (um <del class="diffchange diffchange-inline">hinter </del>das Near Clipping Plane zu kommen), damit das Objekt überhaupt erstmal sichtbar ist.</div></td><td class='diff-marker'>+</td><td style="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;"><div>Diese Variablen werden in der WndProc mit den Standard-Werten initialisiert. Dabei wird für den Positions-Vektor der Z Wert auf -5 gesetzt (um <ins class="diffchange diffchange-inline">vor </ins>das Near Clipping Plane zu kommen), damit das Objekt überhaupt erstmal sichtbar ist.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td><td class='diff-marker'> </td><td style="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;"><div><source lang="pascal"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="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;"><div>RotateX := 0;</div></td><td class='diff-marker'> </td><td style="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;"><div>RotateX := 0;</div></td></tr>
</table>DeepCopy