3-1 レンダリングの処理過程
3-1-1 レンダリングを構成する処理
写実的な表現を行うための処理
- 透視投影
- 隠面消去、ラスタ化
- シェーディング
- 効果付加
3-2 隠面消去
3-2-1 バックフェースカリング
-
物体の表面を考えた場合、物体の外側を向いた面だけを表示すればよい
- 【補】厚みのある球殻なら外側の表面だけ
-
バックフェースカリング(Backface Culling)
- 法線ベクトルと視点方向へのベクトルとのなす角が鈍角ならば除去する
-
隠面消去
- 複数物体が含まれる場合や凹形状の物体で
-
隠面消去の例
- 奥行きソート法
- スキャンライン法
- Zバッファ法
- レイトレーシング法
- 隠線消去 … ワイヤフレーム版
3-2-2 奥行きソート法
- ペインタアルゴリズムとも
- 可視性の低いものから順に重ね書き
- ソートアルゴリズムは複雑
- 「3すくみ」の場合分割が必要
- ポリゴンがグループを構成し、グループ間の可視性が容易に決定できる場合に有用
3-2-3 スキャンライン法
- 走査平面と投影面とのなす走査線(スキャンライン)単位で隠面消去を行う
-
スキャンセグメント
- 走査平面とポリゴンとが交差してなす線分 (ポリゴンが走査平面に含まれないこと)
-
スキャンスパン
- スキャンセグメントの端点で区切られた区間
3-2-4 Zバッファ
- 画素ごとの奥行き値を覚えておく
- 「より手前」なら上塗り
3-2-5 レイトレーシング
- 光線追跡法とも
- 反射、透過、屈折などの光学的に現象を表現できる
-
計算量かかる
- どこに?
- レイがどのポリゴンと交差するか
- 特に最初に交差するのはどれか
-
バウンディングボリューム
- ポリゴンを適切にグルービングして球など単純な図形で囲んで単純化・間引きを行う
3-3 シェーディング
3-3-1 シェーディングと影付け
- 陰と影
-
陰(shade)
- 物体自体のあまり照らされてない部分
-
影(shadow)
- ほかの物体に遮られて暗くなった部分
3-3-2 シェーディングの要素
-
光源の種類
-
平行光線
- 太陽光線
-
点光源
- 電球とか
-
線光源
- 蛍光灯とか
-
面光源
- ライトパネルとか
-
-
物体を照らす光の種類
- 直射光
- 間接光
-
物体からの光
-
反射光
- 拡散反射成分
- 鏡面反射成分
- 透過光
-
散乱光
- 霧など微粒子に散乱されたもの
-
3-3-3 シェーディングモデル
- 基本的なモデル: 環境光による反射+拡散反射+鏡面反射
3-3-4 環境光
I = I_a K_a
a: ambient
- 間接光を大胆に近似
- 精度よくする方法としてはラジオシティ法がある
3-3-5 拡散反射
-
どの方向から見ても輝度が一定となる反射成分
- チョーク、石膏など
平行光線の場合 入射角余弦の法則
I = (k_d I_i) cosα
点光線の場合 逆二乗の法則
I = { (k_d I_q) / r^2 } cosα
r -> ∞
で I_q / r^2 -> const.
つまり平行光線は無限遠の点光源であるといえる
3-3-6 鏡面反射
- 「ハイライト」
- いろいろなモデルが提案されている
Phongのモデル
- プラスチックなどに
- 物理学的な裏付けはない
I = W(α) I_i cos^n γ
where
-
W(α): 鏡面反射率
- 通常は一定値 k_s
- s: specular(鏡面反射)
- n: ハイライト特性
-
γ: 光源の正反射方向と視点方向とのなす角γ
- αで入社してαで反射するのが正反射方向
- そこからの偏差
ほかの
-
ブリンのモデル
- 微小な完全鏡面反射面の集まり。精密なモデル
-
クック・トランスのモデル
- ブリンのモデルの改良
- 金属の鏡面反射に適している
-
BRDF: Bidirectional Reflectance Distribution Function (双方向反射率分布関数) を用いたシェーディングモデル
- 一般化
3-3-7 完全鏡面反射・透過・屈折
- レイトレーシングで考慮するやつ
-
レイは二分木で表現できる
- 界面を経由するたびに反射/透過・屈折成分が分岐
- スネルの法則(懐かしい)
3-3-8 散乱・減衰現象の表示
-
ユースケース
- 霧や煙
- 夕焼けの空や雲の色
- 水の色
-
レイマーチング法
- レイトレーシング法の拡張
- レイを微小距離ずつ移動しながら散乱光を求め、減衰を考慮して加算する
3-3-9 スムーズシェーディング
- 【所感】マイクラで見たやつだ
-
コンスタントシェーディング
- ポリゴンでの代表点での明るさを用いてポリゴン全体を一様な明るさで描画
- ポリゴンの境目があらわになってしまうのでなんとかするのがスムーズシェーディング
グローシェーディング
- ポリゴン頂点の輝度でバイリニア補完
-
「ポリゴン頂点の輝度」
- 近似前の曲面の式を用いる
- 法線ベクトルを平均する
フォンシェーディング
- グローシェーディング同様の方法で「ポリゴン頂点の法線ベクトル」を求め、ポリゴン内での法線ベクトルをバイリニア補完する