固定小数点頂点データの使用

更新 : 2007 年 11 月

固定小数点頂点データを使用すると、ハードウェアによる変形および照明を実装していない 3D グラフィックス ドライバで、変形および照明の速度を高めることができます。ドライバによっては、固定小数点データの方が高速で処理できます。DeviceCaps 構造体の NativeFloat プロパティを調べることで、ドライバが浮動小数点演算を使用するかどうかを判断できます。プロパティ値が false である場合は、固定小数点形式のデータを使用することが適しています。すべての Windows Mobile Direct3D ドライバは、固定小数点データと浮動小数点データの両方をサポートする必要があります。

固定小数点頂点バッファは、浮動小数点頂点バッファと同様に使用されます。相違は、格納されるデータの形式と、頂点バッファの作成時に指定される柔軟な頂点形式の内容だけです。

元のデータが固定小数点形式でない場合は、浮動小数点データを含むMesh オブジェクトを構築してから、Mesh オブジェクトの Clone メソッドを使用して、固定小数点データに変換できます。

浮動小数点データと固定小数点データの各種の柔軟な形式を指定するために使用される、VertexFormats 列挙値の一覧を次の表に示します。この一覧は、すべての場合を網羅したものではなく、固定小数点の柔軟な頂点形式が浮動小数点の柔軟な頂点形式と違う点を示す例です。

形式

浮動小数点の仕様

固定小数点の仕様

位置だけ

VertexFormats.Position

VertexFormats.PositionFixed

位置と法線

VertexFormats.Position | VertexFormats.Normal

VertexFormats.PositionFixed | VertexFormats.NormalFixed

位置とディフューズ色

VertexFormats.Position | VertexFormats.Diffuse

VertexFormats.PositionFixed | VertexFormats.Diffuse

位置と 1 つの 2D テクスチャ座標

VertexFormats.Position | VertexFormats.Texture1

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

位置、法線、スペキュラー色、ディフューズ色、1D テクスチャ座標、および 2D テクスチャ座標

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)

 

参照

その他の技術情報

.NET Compact Framework での Mobile Direct3D プログラミング