Microsoft DirectX 8.0 (Visual Basic)

ステップ 2 : 画面のジオメトリの初期化

レンダリングを行う前に、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 : シーンのレンダリング」で説明する。