Freigeben über


Verwenden von Festkommavertexdaten

Aktualisiert: November 2007

Mit Festkommavertexdaten können Sie die Transformations- und die Beleuchtungsgeschwindigkeit von 3D-Grafiktreibern erhöhen, die die Transformation und die Beleuchtung nicht hardwarebasiert implementieren. Einige Treiber können mit Festkommadaten schneller arbeiten. Um herauszufinden, ob der von Ihnen verwendete Treiber Rechenoperationen mit Gleitkommawerten durchführt, prüfen Sie die NativeFloat-Eigenschaft einer DeviceCaps-Struktur. Beim Eigenschaftenwert false sind Festkommadaten besser für das Gerät geeignet. Alle Windows Mobile Direct3D-Treiber müssen sowohl Festkommadaten als auch Gleitkommadaten unterstützen.

Festkommavertexpuffer werden genauso verwendet wie Gleitkommavertexpuffer. Sie unterscheiden sich nur durch die enthaltenen Datenformate und das flexible Vertexformat, das beim Erstellen des Vertexpuffers angegeben wird.

Liegen die Daten nicht schon von vornherein im Festkommaformat vor, können Sie ein Mesh-Objekt erstellen, das Gleitkommadaten enthält. Konvertieren Sie die Daten dann in Festkommadaten, indem Sie die Clone-Methode des Mesh-Objekts aufrufen.

In der folgenden Tabelle sind die VertexFormats-Enumerationswerte aufgeführt, mit denen verschiedene flexible Formate für Gleitkomma- und Festkommadaten angegeben werden. Die Tabelle deckt nicht alle Möglichkeiten ab, sie enthält jedoch Beispiele, die aufzeigen, wodurch sich ein flexibles Festkommavertexformat von einem flexiblen Gleitkommavertexformat unterscheidet.

Format

Gleitkommaspezifikation

Festkommaspezifikation

Nur Position

VertexFormats.Position

VertexFormats.PositionFixed

Position und normal

VertexFormats.Position | VertexFormats.Normal

VertexFormats.PositionFixed | VertexFormats.NormalFixed

Position und verschwommene Farbe

VertexFormats.Position | VertexFormats.Diffuse

VertexFormats.PositionFixed | VertexFormats.Diffuse

Position und eine 2D-Texturkoordinate

VertexFormats.Position | VertexFormats.Texture1

VertexFormats.PositionFixed | VertexFormats.Texture1 | VertexTextureCoordinate.Fixed(0)

Position, normal, Glanzfarbe, verschwommene Farbe, eine 1D-Texturkoordinate und eine 2D-Texturkoordinate

VertexFormats.Position | VertexFormats.Normal | VertexFormats.Diffuse | VertexFormats.Texture2 | VertexTextureCoordinate.Size1(0)

VertexFormats.PositionFixed | VertexFormats.NormalFixed | VertexFormats.Diffuse | VertexFormats.Texture2 | VertexTextureCoordinate.Size1(0) | VertexTextureCoordinate.Fixed(0) | VertexTextureCoordinate.Fixed(1)

 

Siehe auch

Weitere Ressourcen

Mobile Direct3D-Programmierung in .NET Compact Framework