次の方法で共有


Cube Map サンプル

Cube Map サンプル

説明

Cube Map サンプルでは、キューブ マッピングと呼ばれる環境マッピングの手法を示す。環境マッピングは、3D オブジェクトの周囲の環境 (ライトなど) をテクスチャ マップに配置し、時間のかかるライティングの計算を行わずに複雑なライティング エフェクトをオブジェクトに適用できる手法である。

環境マッピングの手法 (キューブ マッピングや射影テクスチャなど) の一部の機能しかサポートしていないカードもある。環境マッピングの詳細については、「環境マッピング」を参照すること。

パス

ソース ファイル : (SDK ルート)\Samples\C++\Direct3D\EnvMapping\CubeMap

実行可能ファイル : (SDK ルート)\Samples\C++\Direct3D\Bin

ユーザーズ ガイド

次の表は、実装されているキーを示している。メニュー コマンドを使って同じ操作を行うことができる。

キー 動作
Enter シーンを開始および停止する。
Space キー シーンを少しずつ進める。
F2 新しいレンダリング デバイスまたはディスプレイ モードを選択するようユーザーに指示する。
Alt+Enter フルスクリーン モードとウィンドウ モードを切り替える。
Esc アプリケーションを終了する。

プログラミング上の注意

キューブ マッピングは、6 面のテクスチャを使用する手法である。この手法の効果を想像するには、壁紙が張られた部屋にある、壁紙で縮小ラップされたオブジェクトを考えてみるとよい。キューブ マッピングは球体マッピングよりも優れている。これは、球体マッピングが本質的に視点に依存するからである (球体マップは特定の視点を念頭に置いて作成される)。また、キューブ マップではジオメトリの歪みが生じないので、キューブ マップの 6 面すべてについて、IDirect3DDevice9::SetRenderTarget を使ってその場で生成できる。

キューブ マッピングは、Microsoft® Direct3D® のテクスチャ座標生成でも使用できる。D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR を設定することによって、Direct3D は頂点の反射ベクトルからキューブ マップのテクスチャ座標を生成するので、この手法を使うと、環境がオブジェクトで反射される場合の環境マッピング エフェクトを容易に作成できる。

このサンプルでは、ヘルパー関数などのプログラミング要素から構成される共通の Microsoft DirectX® コードを使っている。このコードは DirectX ソフトウェア開発キット (SDK) の他のサンプルと共有されている。サンプル フレームワークのヘッダーは (SDK ルート)\Samples\C++\Common\Include、ソース コードは (SDK ルート)\Samples\C++\Common\Src にある。