Freigeben über


Raumtransformationen

Eine Welttransformation ändert Koordinaten aus dem Modellbereich, wobei Scheitelpunkte relativ zum lokalen Ursprung eines Modells in den Weltraum definiert werden. Im Weltraum werden Scheitelpunkte relativ zu einem Ursprung definiert, der allen Objekten in einer Szene gemeinsam ist. Die Welttransformation setzt ein Modell in die Welt.

Das folgende Diagramm zeigt die Beziehung zwischen dem Weltkoordinatensystem und dem lokalen Koordinatensystem eines Modells.

Diagramm der Beziehung zwischen Weltkoordinaten und lokalen Koordinaten

Die Welttransformation kann eine beliebige Kombination aus Übersetzungen, Drehungen und Skalierungen umfassen.

Einrichten einer Weltmatrix

Wie bei jeder anderen Transformation erstellen Sie die Welttransformation, indem Sie eine Reihe von Matrizen in eine einzelne Matrix verketten, die die Summe ihrer Effekte enthält. Wenn sich ein Modell am Ursprung der Welt befindet und seine lokalen Koordinatenachsen am einfachsten wie der Weltraum ausgerichtet sind, ist die Weltmatrix die Identitätsmatrix. Im Allgemeinen ist die Weltmatrix eine Kombination aus einer Übersetzung in den Weltraum und möglicherweise eine oder mehrere Drehungen, um das Modell nach Bedarf zu drehen.

Direct3D verwendet die Welt- und Ansichtsmatrizen, die Sie zum Konfigurieren mehrerer interner Datenstrukturen festgelegt haben. Jedes Mal, wenn Sie eine neue Welt- oder Ansichtsmatrix festlegen, berechnet das System die zugehörigen internen Strukturen neu. Das Festlegen dieser Matrizen beispielsweise häufig, tausend Mal pro Frame ist rechenaufwändig. Sie können die Anzahl der erforderlichen Berechnungen minimieren, indem Sie Ihre Welt- und Ansichtsmatrizen in eine Weltansichtsmatrix verketten, die Sie als Weltmatrix festlegen, und dann die Ansichtsmatrix auf die Identität festlegen. Bewahren Sie zwischengespeicherte Kopien einzelner Welt- und Ansichtsmatrizen auf, damit Sie die Weltmatrix nach Bedarf ändern, verketten und zurücksetzen können.

Transformationen