「キューブマッピング」の版間の差分

提供:MonoBook
ページの作成:「'''キューブマッピング'''(英語:cube mapping)とは、環境マッピングのひとつで、立方体の6つの面を使用するものをいう…」
 
編集の要約なし
25行目: 25行目:


[[HLSL]]でもtexCUBE関数にテクスチャキューブとfloat3型の座標を投げるだけだ。
[[HLSL]]でもtexCUBE関数にテクスチャキューブとfloat3型の座標を投げるだけだ。
== 関連項目 ==
* [[スクリーンスペースリフレクション]]
[[category: 3DCG]]

2019年11月20日 (水) 02:36時点における版

キューブマッピング英語:cube mapping)とは、環境マッピングのひとつで、立方体の6つの面を使用するものをいう。

概要

テクスチャキューブと呼ばれる正方形テクスチャ6個1組にしたものをワールドを囲む壁面のように配置し、 サンプリング処理としてカメラとピクセルの角度を計算し、その反射した位置にある色を取ることで 「鏡面反射」を実現するというものである。

レイトレーシングの超手抜き版みたいなもので、

  • レイの反射は1回
  • レイは他のモデルを考慮せず突き抜け
  • テクスチャキューブから色を採取する


さらに手を抜いて計算は一切せずに「モデルの法線」を利用するという手法もある。これは精度よりも速度を重視したい場合に使われる。細かいことは気にしてはならない。ハゲるぞ。


さらに、フルスクリーンに対してレイを飛ばし、かつレイを反射させないと、いわゆる空や背景を描く「スカイボックス」になる。

ハードウェア

キュープマッピングに対応した最初のGPUNVIDIAGeForce 256である。テクスチャキューブを投げるだけで全自動でやってくれるスグレモノだ。 NVIDIAは大々的に宣伝した。

最近のGPUでは「TextureCube」的なオブジェクトが用意されており、難しいことは考えずに利用できる。

HLSLでもtexCUBE関数にテクスチャキューブとfloat3型の座標を投げるだけだ。

関連項目