【コラム】

3Dグラフィックス・マニアックス

40 ジオメトリシェーダ(11)~ジオメトリシェーダを活用した新表現(7)

 

40/99

ジオメトリシェーダを活用した新表現(7)~ポリゴン柱を立てて局所的にボリュームレンダリングを行うディスプレースメントマッピング

形状が大胆に変わることがない、いうなればディテールの装飾にとどまる3Dモデル形状変形であれば、テッセレータを実装しないディスプレースメントマッピングの実現方法の方が向いている。

それが基本形状の3Dモデルの外皮にポリゴン柱(角柱)を立てて、そこに対して局所的にボリュームレンダリングを実行するやり方だ。

角柱を打ち立てるのは計算量の面でベジェ曲面を計算するよりは負荷が低い。しかし、実際にジオメトリレベルの凸を作るので立体的な凹凸の表現ができる。

この方法では、対象3Dモデルを構成しているポリゴン(三角形)のうち、ディスプレースメントマッピングを行う対象となるものに対し、ジオメトリシェーダ用いてそのポリゴンを底面とした角柱を打ち立てることから始める。

ポリゴン柱を立てて、局所的にボリュームレンダリングを行うディスプレースメントマッピングの概念

アプローチのイメージとしては、角柱で大ざっぱな凸を造りだし、そこからハイトマップを用いて、ピクセル単位の凹凸をボリュームレンダリングの彫刻刀で削りだしていくような感じを連想するといいだろう。

前述したように、打ち立てる角柱の底面は3Dモデル側のポリゴンになる。この底面から打ち立てる3辺は、このポリゴンの法線ベクトルの方向とする。こうすることで、隣接する3Dモデルのポリゴンから次々に角柱を打ち立てていったときにも隙間を空けずに済む。

底面ポリゴンの3つの頂点の法線ベクトルの方向に辺を打ち立てて四角柱を形成

この底面ポリゴンの法線ベクトル方向に伸ばした角柱を支える3辺の長さは、作り出す凸部分の最大の高さとする。

打ち立てた三角柱の側面は2つの三角形からなっているので、これを利用すればこの三角柱は3つの四面体に分割できる。

三角柱は側面のポリゴンを一面とした3つの四面体に分割できる

あとはこの3つの四面体に対して、各四面体の底面の深度値と、凹凸を記録したハイトマップから取り出した変位の高さ値とを比較して、視線が衝突しているか否かを判断しボリュームレンダリングを行っていく。このあたりの仕組みは本連載第17回「視差遮蔽マッピング」とほぼ同じだ。

視線を少しずつ伸ばしていき、その位置での四面体の底面の深度値とハイトマップの高さを比較して衝突しているかどうかを判定。衝突していればそこに対してピクセル陰影処理を行う。それ以外は視線をさらに少し伸ばして……以降この繰り返し。最後、3つ目の四面体を飛び出した時点で処理終了

この方法の場合、最初の方法と比べて頂点シェーダやジオメトリシェーダへの負荷が少ないが、その分ピクセルシェーダへの負荷が高くなる。

ディスプレースメントマッピングにて生成された凹凸のセルフシャドウ表現も、視差遮蔽マッピングのところで紹介したセルフシャドウ付き視差遮蔽マッピングの方法を応用すればできなくはないだろうが、負荷と難易度は高くなる。

この方式のディスプレイスメントマッピングのデモ(DirectX SDKのデモより)。ディスプレイスメントマッピングにより背びれとトゲを付加している

オフにすると背びれとトゲが消える

(トライゼット西川善司)

40/99

インデックス

連載目次
第99回 3D立体視の解体新書 - 立体視という知覚(4)~単眼立体視と両眼立体視の有効範囲の考察
第98回 3D立体視の解体新書 - 立体視という知覚(3)~両眼立体視
第97回 3D立体視の解体新書 - 立体視という知覚(2)~単眼立体視(2)
第96回 3D立体視の解体新書 - 立体視という知覚(1)~単眼立体視(1)
第95回 人工知性でコンテンツを生成するプロシージャル技術(19)
第94回 人工知性でコンテンツを生成するプロシージャル技術(18)
第93回 人工知性でコンテンツを生成するプロシージャル技術(17)
第92回 人工知性でコンテンツを生成するプロシージャル技術(16)
第91回 人工知性でコンテンツを生成するプロシージャル技術(15)
第90回 人工知性でコンテンツを生成するプロシージャル技術(14)
第89回 人工知性でコンテンツを生成するプロシージャル技術(13)
第88回 人工知性でコンテンツを生成するプロシージャル技術(12)
第87回 人工知性でコンテンツを生成するプロシージャル技術(11)
第86回 人工知性でコンテンツを生成するプロシージャル技術(10)
第85回 人工知性でコンテンツを生成するプロシージャル技術(9)
第84回 人工知性でコンテンツを生成するプロシージャル技術(8)
第83回 人工知性でコンテンツを生成するプロシージャル技術(7)
第82回 人工知性でコンテンツを生成するプロシージャル技術(6)
第81回 人工知性でコンテンツを生成するプロシージャル技術(5)
第80回 人工知性でコンテンツを生成するプロシージャル技術(4)
第79回 人工知性でコンテンツを生成するプロシージャル技術(3)
第78回 人工知性でコンテンツを生成するプロシージャル技術(2)
第77回 人工知性でコンテンツを生成するプロシージャル技術(1)
第76回 3Dモデルの変形までが可能な動的PRT(5)~SH Exp演算の大胆な近似による高速化
第75回 3Dモデルの変形までが可能な動的PRT(4)~SH Log演算とSH Log次元における遮蔽の統合
第74回 3Dモデルの変形までが可能な動的PRT(3)~帯域調和関数(Zonal Harmonics)の導入
第73回 3Dモデルの変形までが可能な動的PRT(2)~SH LogとSH Expとは?
第72回 3Dモデルの変形までが可能な動的PRT(1)~3Dモデルの変形に対応した動的PRT技術の台頭
第71回 限定条件付き動的PRT(2)~PSF技法におけるライティング
第70回 限定条件付き動的PRT(1)~動的PRT第一段階PSF技法とは?
第69回 事前計算放射輝度伝搬(PRT)~PRTの基本。静的PRT(4)
第68回 事前計算放射輝度伝搬(PRT)~PRTの基本。静的PRT(3)
第67回 事前計算放射輝度伝搬(PRT)~PRTの基本。静的PRT(2)
第66回 事前計算放射輝度伝搬(PRT)~PRTの基本。静的PRT(1)
第65回 事前計算放射輝度伝搬(PRT)~PRTとは?
第64回 表面下散乱によるスキンシェーダ(8)~表面下散乱とスキンシェーダ(6)
第63回 表面下散乱によるスキンシェーダ(7)~表面下散乱とスキンシェーダ(5)
第62回 表面下散乱によるスキンシェーダ(6)~表面下散乱とスキンシェーダ(4)
第61回 表面下散乱によるスキンシェーダ(5)~表面下散乱とスキンシェーダ(3)
第60回 表面下散乱によるスキンシェーダ(4)~表面下散乱とスキンシェーダ(2)
第59回 表面下散乱によるスキンシェーダ(3)~表面下散乱とスキンシェーダ(1)
第58回 表面下散乱によるスキンシェーダ(2)~ハーフライフ2で採用の疑似ラジオシティライティング(2)
第57回 表面下散乱によるスキンシェーダ(1)~ハーフライフ2で採用の疑似ラジオシティライティング(1)
第56回 水面の表現(5)~大きな波
第55回 水面の表現(4)~水面のライティング(2)
第54回 水面の表現(3)~水面のライティング(1)
第53回 水面の表現(2)~動的なさざ波
第52回 水面の表現(1)~水面表現の歴史
第51回 HDRレンダリング(11)~トーンマッピング
第50回 HDRレンダリング(10)~HDRブルーム/グレア処理
第49回 HDRレンダリング(9)~HDRテクスチャ
第48回 HDRレンダリング(8)~HDRレンダーターゲット
第47回 HDRレンダリング(7)~HDRレンダリングのプロセス
第46回 HDRレンダリング(6)~HDRレンダリングの歴史と動向(2)
第45回 HDRレンダリング(5)~HDRレンダリングの歴史と動向(1)
第44回 HDRレンダリング(4)~HDRレンダリングの第三の効能
第43回 HDRレンダリング(3)~HDRレンダリングの第二の効能
第42回 HDRレンダリング(2)~HDRレンダリングの第一の効能
第41回 HDRレンダリング(1)~HDRレンダリングとは?
第40回 ジオメトリシェーダ(11)~ジオメトリシェーダを活用した新表現(7)
第39回 ジオメトリシェーダ(10)~ジオメトリシェーダを活用した新表現(6)
第38回 ジオメトリシェーダ(9)~ジオメトリシェーダを活用した新表現(5)
第37回 ジオメトリシェーダ(8)~ジオメトリシェーダを活用した新表現(4)
第36回 ジオメトリシェーダ(7)~ジオメトリシェーダを活用した新表現(3)
第35回 ジオメトリシェーダ(6)~ジオメトリシェーダを活用した新表現(2)
第34回 ジオメトリシェーダ(5)~ジオメトリシェーダを活用した新表現(1)
第33回 ジオメトリシェーダ(4)~ジオメトリシェーダのアクセラレーション的活用(4)
第32回 ジオメトリシェーダ(3)~ジオメトリシェーダのアクセラレーション的活用(3)
第31回 ジオメトリシェーダ(2)~ジオメトリシェーダのアクセラレーション的活用(2)
第30回 ジオメトリシェーダ(1)~ジオメトリシェーダのアクセラレーション的活用・ステンシルシャドウボリューム技法の影生成を加速する
第29回 影の生成(10)~改良型デプスシャドウ技法(5)
第28回 影の生成(9)~改良型デプスシャドウ技法(4)
第27回 影の生成(8)~改良型デプスシャドウ技法(3)
第26回 影の生成(7)~改良型デプスシャドウ技法(2)
第25回 影の生成(6)~改良型デプスシャドウ技法(1)
第24回 影の生成(5)~デプスシャドウ技法
第23回 影の生成(4)~ステンシルシャドウボリューム技法(2)
第22回 影の生成(3)~ステンシルシャドウボリューム技法(1)
第21回 影の生成(2)~投射テクスチャマッピング技法
第20回 影の生成(1)~3Dグラフィックスにおける2つのカゲの存在
第19回 バンプマッピングの先にあるもの(3)~セルフシャドウ付き視差遮蔽マッピング
第18回 バンプマッピングの先にあるもの(2)~視差遮蔽マッピング
第17回 バンプマッピングの先にあるもの(1)~視差マッピング
第16回 微細凹凸表現の基本形「法線マップ」(3)
第15回 微細凹凸表現の基本形「法線マップ」(2)
第14回 微細凹凸表現の基本形「法線マップ」(1)
第13回 3Dグラフィックスの概念とレンダリングパイプライン(5)
第12回 3Dグラフィックスの概念とレンダリングパイプライン(4)
第11回 3Dグラフィックスの概念とレンダリングパイプライン(3)
第10回 3Dグラフィックスの概念とレンダリングパイプライン(2)
第9回 3Dグラフィックスの概念とレンダリングパイプライン(1)
第8回 GPUとシェーダ技術の基礎知識(8)
第7回 GPUとシェーダ技術の基礎知識(7)
第6回 GPUとシェーダ技術の基礎知識(6)
第5回 GPUとシェーダ技術の基礎知識(5)
第4回 GPUとシェーダ技術の基礎知識(4)
第3回 GPUとシェーダ技術の基礎知識(3)
第2回 GPUとシェーダ技術の基礎知識(2)
第1回 GPUとシェーダ技術の基礎知識(1)

もっと見る

関連キーワード

人気記事

一覧

新着記事

アカマイ、Web画像の最適化&高速配信を自動化する「Image Manager」発表
[14:13 9/28] 企業IT
『ジョジョ』実写映画が2017年夏公開決定、原作・荒木飛呂彦氏「誠に光栄」
[14:07 9/28] ホビー
パナソニックの頑丈ノートPC「TOUGHBOOK」が20周年
[14:02 9/28] パソコン
坂上忍、紀香は"梨園の妻"として「うまくいくと思う」- 三田寛子は"お手本"
[14:01 9/28] エンタメ
OPPO、最新世代DAC採用でアンプも向上したポタアン「HA-2SE」
[14:00 9/28] スマホとデジタル家電