【事前学習】ベーシックは3章、エキスパートは4章を学んできてください。
レンダリング
Rendering
エキスパート2023年前期 第3問
- 完全拡散面なので拡散反射の話。アは正しくは$\cos\alpha$。イは、拡散反射光は視点に関係なく同じ。
シミュレーション光の種類
(教科書basic p.79-80-82、expert p.138-142-149)
拡散反射光
(diffuse)
- ざらざらな面(コンクリート)
- 光が面に垂直なほど強い
- どの方向から見ても同じ明るさ
鏡面反射光
(specular)
- つるつるな面(プラスチック、鏡)
- 光の正反射方向が最も明るい
- 正反射方向となす角度が小さいほど明るい
- が大きいほどハイライトの部分が小さくなる
環境光
(ambient)
- 机の下など、直接光が当たらないところも色を付ける
- 全方向から反射してくる光を一定値とみなす
- 光が全く照射しない部分にも色がつく
光が当たらない部分も見えるようになります。
シェーディング法の種類
(教科書basic p.85、expert p.155)
フラットシェーディング
- ポリゴンの代表法線(3頂点の法線の平均など)を用いて色を計算し、その色一色でポリゴンを塗る
- 同じ色でポリゴンを塗るので処理が高速
グローシェーディング
(Gouraud Shading)
- ポリゴンの各頂点での色を計算し、ポリゴン内は頂点の色を内分して求める(線形グラデーション)
- グラフィックスアクセラレータを利用できれば高速に処理可能(OpenGLの標準のシェーディング方法)
- ポリゴンが大きいと,鏡面反射光(ハイライト)が正しく表現されない
フォンシェーディング
(Phong Shading)
- ポリゴン内の各ピクセルの法線を頂点の法線を内分して求め、その法線を使って各ピクセルの明るさを計算する
- グラフィックスアクセラレータの利用が難しいので処理が遅い
- ポリゴンが大きくても鏡面反射光(ハイライト)が比較的正しく表現される
隠面消去
(ベーシック教科書 p.75 / エキスパート教科書 p.127)
- 奥行ソート法
- 描画面を奥行順にソートして、奥行から描画(面ごとに判定)
- スキャンライン法
- メモリが少なかったころ、走査線(一行)ごとに奥行判定をする方法
- Zバッファ or デプスバッファ法
- 現在の方法、ピクセル単位で奥行を判定しながら(既に描画したものより手前であれば描画
公式問題集の補足説明
Guide for Offical Book
エキスパート練習問題1第4問 p.18
- 長方形の短辺側はくっきりとした影の境界ができ、長辺側はぼやけた境界ができる。線光源の全体が見えなくならなければ0にはならない。
- 経度と緯度に変換
- 3次元的な凹凸データではなく、法線ベクトル分布画像を用いる。
- 視線方向に応じて大きな画像から対象部分を切り出して表示
エキスパート練習問題1第5問 p.22
- 拡散反射も鏡面反射も反射率を決める関数
- バウンディング=bounding=境界、ボリューム=volume=体積
- (メディアの子は幾何学1でやっている。)
- 奥行きがより小さかったら(視点に近かったら)書き換えるので、初期値は奥行きの最大(視点から最も遠い)。
ベーシック練習問題1第6問 p.98
- スムーズ=滑らか⇔コンスタント=一定
- フォン(人名)=法線ベクトルを補間⇔グロー(人名)=濃淡値を補間(グラデーション)
- 拡散反射=ざらざら面、入射角のみで決まる
-
- の値を大きくするとコサインの山が尖った山となり、ハイライトが小さくなる。
ベーシック練習問題2第6問 p.120
- 陰影(濃淡)付=シェーディング
- 環境光(ambient)
- 図1が各ポリゴンを同一色で塗るコンスタント(一定)シェーディング
- や を変えるとハイライトの大きさではなく明るさが変わる。 の値を大きくするとコサインの山が尖った山となり、ハイライトが小さくなる。
ベーシック練習問題3第6問 p.142
- 影付け⇔陰影(濃淡)付=シェーディング
- 面光源は影の境界付近で光の当たる量が滑らかに変わるので半影ができる。⇔点光源は影の境界がくっきりする。
【事後学習】公式問題集のベーシックは各回の第6、7問、エキスパートは各回の第4、5問がレンダリングの問題です。これらの問題を全て解けるようになってください。
This site is powered by