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

提供: 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回
  • レイは他のモデルを考慮せず突き抜け
  • テクスチャキューブから色を採取する

Cube mapping 01.png


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

Cube mapping 02.png


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

ハードウェア

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

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

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

関連項目