Microsoft DirectX 8.0 (Visual Basic) |
レンダリングを行う前に、Texture サンプル プロジェクトでは、アプリケーション定義関数 InitGeometry を呼び出して、テクスチャを作成し、円柱のジオメトリを設定している。
テクスチャはファイル ベースのイメージから作成される。次のコードでは、D3DX8.CreateTextureFromFile を使って、Banana.bmp から円柱のサーフェスを覆うためのテクスチャを作成している。
Set g_Texture = g_D3DX.CreateTextureFromFile(g_D3DDevice, App.Path + "\banana.bmp") If g_Texture Is Nothing Then Exit Function
CreateTextureFromFile が受け取る最初のパラメータは、テクスチャをレンダリングするために使用される Microsoft® Direct3D® デバイスである。2 番目のパラメータは、作成するテクスチャの元のファイル名を指定する ANSI 文字列である。このサンプルでは、Banana.bmp を指定して、このファイルからイメージをロードする。
バナナのテクスチャがロードされ、使用可能になる。次のステップは円柱を作成することである。次のコードでは、頂点バッファに円柱のデータを設定している。各点はテクスチャ座標 (tu, tv) を持つことに注意すること。
For i = 0 To 49 theta = (2 * g_pi * i) / (50 - 1) Vertices(2 * i + 0).position = vec3(Sin(theta), -1, Cos(theta)) Vertices(2 * i + 0).color = &HFFFFFFFF ' 白。 Vertices(2 * i + 0).tu = i / (50 - 1) Vertices(2 * i + 0).tv = 1 Vertices(2 * i + 1).position = vec3(Sin(theta), 1, Cos(theta)) Vertices(2 * i + 1).color = &HFF808080 ' グレー。 Vertices(2 * i + 1).tu = i / (50 - 1) Vertices(2 * i + 1).tv = 0 Next
各頂点には、位置座標、色、およびテクスチャ座標が含まれる。Texture サンプル プロジェクトでは、テクスチャが円柱の周囲をなめらかに覆うように、各点のテクスチャ座標を設定している。
テクスチャがロードされ、頂点バッファをレンダリングする準備ができたので、次はディスプレイをレンダリングする。これについては、「ステップ 3 : シーンのレンダリング」で説明する。