Platform SDK: DirectX

ステップ 1.1 : テクスチャ座標を設定する

[C++]

ここでは、Visual Basic でのアプリケーション開発について説明する。C++ については、「Direct3D 直接モードの C/C++ チュートリアル」を参照すること。

[Visual Basic]

Direct3D では、テクスチャをカラー値の 2 次元配列で表す。配列の各要素をテクセルと呼ぶ。テクセルには、列番号と行番号によってアクセスできる。これらの番号には、それぞれ U と V のラベルが付いている。

アプリケーションでテクスチャ座標を直接頂点に割り当てるには、DirectX7.CreateD3DVertex メソッドを使用する。サンプル Texture の次のコードでは、立方体の前面を表す 4 頂点を作成する。

g_dx.CreateD3DVertex -1, 1, -1, 0, 0, -1, 0, 0, vertices(0)
g_dx.CreateD3DVertex 1, 1, -1, 0, 0, -1, 1, 0, vertices(1)
g_dx.CreateD3DVertex -1, -1, -1, 0, 0, -1, 0, 1, vertices(2)
g_dx.CreateD3DVertex 1, -1, -1, 0, 0, -1, 1, 1, vertices(3)

CreateD3DVertex メソッドを呼び出すごとに、最初の 3 つの引数が頂点を、次の 3 つの引数が頂点法線ベクトルの方向を定義する。この場合、アプリケーションによってビットマップ テクスチャ全体を立方体の前面にマップし、次のテクスチャ座標、(0, 0)、(1, 0)、(0, 1)、および (1, 1) を使用する。

テクスチャ座標の詳細については、「テクスチャ座標」を参照すること。

立方体の背面、上面、底面、右面、および左面にも、同じ手順を実行する必要がある。この手順については、SDK のサンプル Texture コードを参照すること。

サンプル Texture では、プログラマ定義関数 CreateTextureSurface を使って DirectDrawSurface7 オブジェクトを返す。返されたテクスチャ サーフェス オブジェクトは、レンダリング時にプリミティブに設定される。

Set g_ddsTexture1 = CreateTextureSurface("tree1.bmp")
Set g_ddsTexture2 = CreateTextureSurface("tex1.bmp")
Set g_ddsTexture3 = CreateTextureSurface("earth.bmp")

上記のコードでは、ビットマップ ファイル (tree1.bmp、tex1.bmp、および earth.bmp) から 3 つのテクスチャ サーフェス オブジェクトが作成されている。

 :  サンプル Texture を実行するには、Visual Basic アプリケーションがテクスチャ ファイル (tree1.bmp、tex1.bmp、および earth.bmp) を検索できるようにしておかなければならない。サンプル Texture では、サンプル Texture のプロジェクト ファイル (.vbp) が登録されたフォルダでこれらのファイルを検索する。

これで、プログラマ定義サブルーチン CreateTextureSurface の説明は終了し、テクスチャ サーフェス オブジェクトの準備と作成に進む。このタスクの最初のステップが、ステップ 1.2 : テクスチャ サーフェスを準備する」である。