[[cg:start|CG用語集トップ]] > [[cg:rendering:start|第3章 レンダリング]] ====== ボリュームレンダリング ====== ===== 概要 ===== ボリュームレンダリングは、[[cg:modeling:volume_data|ボリュームデータ]]を画像として描画する技術である。物体表面だけを描く通常のレンダリングとは異なり、空間内に分布する値を利用して内部構造を表現できる。等しい値を持つ面を取り出して描く方法と、ボリューム全体を直接サンプリングして描く方法がある。 {{:cg:figures:chapter03:fig_3_40_volume_visualization.png?600|ヒトの歯のCTデータのボリュームビジュアライゼーション}} ===== 詳しい説明 ===== ボリュームレンダリングには大きく分けて間接法と直接法がある。間接法では、[[cg:modeling:isosurface|等値面]]のように特定の値を持つ面を取り出し、その面を従来の表面レンダリングで描く。直接法では、ボリューム内の値をサンプリングし、色や不透明度を積み重ねて画像を作る。代表的な直接法が[[cg:rendering:ray_casting_algorithm|レイキャスティング法]]である。 第2章の[[cg:modeling:volume_rendering_no146|ボリュームレンダリング]]はボクセル表現や形状表現との関係で扱うのに対し、ここではレンダリング結果をどう作るかが中心になる。特に、どの値を見せ、どの値を透明にするかを決める[[cg:rendering:transfer_function|トランスファファンクション]]が重要になる。 {{:cg:figures:chapter03:fig_3_41_ray_casting_volume_rendering.png?600|レイキャスティングによるボリュームレンダリングの原理}} ===== CG制作との関係 ===== CG制作では、煙、雲、炎、内部構造を持つ物体などの表現に関係する。ポリゴンの表面だけでなく、空間内の密度や濃度を描画対象にできるため、半透明で複雑な見え方を作ることができる。 ===== ゲーム開発との関係 ===== リアルタイムゲームでは負荷が高くなりやすいため、簡略化や事前計算が必要になる。それでも、雲や霧、ボリュームライト、煙表現などでは、ボリュームレンダリングの考え方が使われる。 ===== 制作・実装での例 ===== 画面の各画素に対してレイを飛ばし、一定間隔でボリューム値を調べながら色を積み重ねる実装では、サンプリング間隔が品質と速度に大きく影響する。間隔を細かくすると滑らかになるが、計算量は増える。 ===== 検定対策ポイント ===== ボリュームレンダリングは、ボリュームデータを画像化する技術である。間接法は等値面を取り出して表面として描く。直接法はボリューム全体をサンプリングして描く。この違いを押さえる。 ===== 関連用語 ===== * [[cg:rendering:volume_visualization|ボリュームビジュアライゼーション]] * [[cg:modeling:volume_data|ボリュームデータ]] * [[cg:modeling:isosurface|等値面]] * [[cg:rendering:ray_casting_algorithm|レイキャスティング法]] * [[cg:rendering:transfer_function|トランスファファンクション]] ===== タグ ===== * CGエンジニア検定 * 第3章 ---- [[cg:rendering:start|← 第3章 レンダリング の目次に戻る]] [[cg:start|← CG用語集トップに戻る]]