「ボリュームレンダリング」の版間の差分
imported>Fallout New Tokyo (→概要) |
imported>Fallout New Tokyo |
||
5行目: | 5行目: | ||
ボリュームレンダリングにおいて最終的に出力する1つの[[ピクセル]]の値を求めるためのベースとなる[[データ]]を得ることを[[レイキャスティング]]という。ボリュームレンダリングでは[[レイキャスティング]]で得られた[[データ]]を[[最大値]]や[[最小値]]、[[平均値]]、[[中央値]]などの様々な方法により加工することで最終的な映像を取得する。ただし、レイキャスティングで得た値を即座にピクセルに変換する手法が一般的であるため、ボリュームレンダリングとレイキャスティングを同一として語られることも多い。 | ボリュームレンダリングにおいて最終的に出力する1つの[[ピクセル]]の値を求めるためのベースとなる[[データ]]を得ることを[[レイキャスティング]]という。ボリュームレンダリングでは[[レイキャスティング]]で得られた[[データ]]を[[最大値]]や[[最小値]]、[[平均値]]、[[中央値]]などの様々な方法により加工することで最終的な映像を取得する。ただし、レイキャスティングで得た値を即座にピクセルに変換する手法が一般的であるため、ボリュームレンダリングとレイキャスティングを同一として語られることも多い。 | ||
+ | |||
+ | ボリュームレンダリングではピクセル単位でレイキャスティングを行い、その他の要素から影響を受けにくいため[[ピクセルシェーダー]](別名:[[フラグメントシェーダー]])などと非常に相性がよく、近年の壮大な[[GPU]]ではそこそこ高速に処理できるようになりつつある。 | ||
+ | |||
+ | ただしボリュームレンダリングでは3次元の点の集まりである[[ボクセル]]を扱う関係上、非常に多くの[[メモリ]]を必要とする。 | ||
+ | : メモリ消費量 | ||
+ | :* 512 * 512 * 512 * 2バイト = 256MB | ||
+ | :* 1024 * 1024 * 1024 * 2バイト = 2GB | ||
+ | 上記は単純に[[ボクセル]]を保持するために必要な最低限のメモリ容量であり、実際にはここから計算した値を確保しておくためのメモリなども必要になる。このような巨大なデータは[[メインメモリ]]から[[VRAM]]への転送なども大きな負担となる。このためボリュームレンダリングでは[[シェーダー]]の性能よりも[[メモリ]]の容量や速度が[[ボトルネック]]となることが多い。そのため安物の[[オンボードGPU]]では厳しかったりする。なお、[[オンボードGPU]]でも[[PlayStation 4]]のように[[GDDR5]]と[[hUMA]]のような技術を組み合わせればボリュームレンダリングも大きく前進する可能性がある。 | ||
[[コンピューター]]および[[グラフィックボード]]の高性能化により、[[ゲーム]]などの[[ポリゴン]]主体の[[3D]]においても、雲の表現などの古くから[[ビルボード]]という手抜き手法が使われていた部分を高画質化する手法として採用され始めている。 | [[コンピューター]]および[[グラフィックボード]]の高性能化により、[[ゲーム]]などの[[ポリゴン]]主体の[[3D]]においても、雲の表現などの古くから[[ビルボード]]という手抜き手法が使われていた部分を高画質化する手法として採用され始めている。 |
2014年2月25日 (火) 09:45時点における版
ボリュームレンダリング(英語:volume rendering)とは、3次元のピクセルの集まり(ボクセルという)から強引に3次元映像を作り出す力技のことである。
概要
ボリュームレンダリングは主に放射線の吸収量をコンピューターグラフィックスとして表現する医用画像や非破壊検査などの領域で使用されている手法である。ボリュームレンダリングではモデルの表面だけのポリゴンと異なり、モデルの中身まで描き出すことができる。大雑把に言えばマインクラフトで「何か」を作り上げたような感じである。
ボリュームレンダリングにおいて最終的に出力する1つのピクセルの値を求めるためのベースとなるデータを得ることをレイキャスティングという。ボリュームレンダリングではレイキャスティングで得られたデータを最大値や最小値、平均値、中央値などの様々な方法により加工することで最終的な映像を取得する。ただし、レイキャスティングで得た値を即座にピクセルに変換する手法が一般的であるため、ボリュームレンダリングとレイキャスティングを同一として語られることも多い。
ボリュームレンダリングではピクセル単位でレイキャスティングを行い、その他の要素から影響を受けにくいためピクセルシェーダー(別名:フラグメントシェーダー)などと非常に相性がよく、近年の壮大なGPUではそこそこ高速に処理できるようになりつつある。
ただしボリュームレンダリングでは3次元の点の集まりであるボクセルを扱う関係上、非常に多くのメモリを必要とする。
- メモリ消費量
- 512 * 512 * 512 * 2バイト = 256MB
- 1024 * 1024 * 1024 * 2バイト = 2GB
上記は単純にボクセルを保持するために必要な最低限のメモリ容量であり、実際にはここから計算した値を確保しておくためのメモリなども必要になる。このような巨大なデータはメインメモリからVRAMへの転送なども大きな負担となる。このためボリュームレンダリングではシェーダーの性能よりもメモリの容量や速度がボトルネックとなることが多い。そのため安物のオンボードGPUでは厳しかったりする。なお、オンボードGPUでもPlayStation 4のようにGDDR5とhUMAのような技術を組み合わせればボリュームレンダリングも大きく前進する可能性がある。
コンピューターおよびグラフィックボードの高性能化により、ゲームなどのポリゴン主体の3Dにおいても、雲の表現などの古くからビルボードという手抜き手法が使われていた部分を高画質化する手法として採用され始めている。