Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
レンダリング
コンピュータグラフィックス基礎
オイラー・ポアンカレの公式
v - e + f - h = 2 (m - g)v:頂点数 e:稜線数 f: 面数 h: 面内ループ数 = 0
m: 物体数 = 1 g: 貫通穴数
v=2452, e= □ , f=4900, g = □ v=2500, e=□, f=5000, g = □
レンダリングとは?
モデリングによって定義された3次元形状に対し、画面描画を行う
◦ カメラの位置、パラメータ◦ 光源の位置、方向、色◦ 光の物理的な性質
写実的表現法(フォトリアリスティックレンダリング)
◦ 物体表面での光の反射・透過・屈折◦ 物体の材質感(テクスチャ画像)
写実的表現のレベル
リアリティの要素
遠近感◦ 透視投影(遠:小さい 近:大きい)◦ デプスキューイング
(遠:暗い、ぼやけ 近:明るい、鮮明)
可視面表示◦ 隠線消去◦ 隠面消去
表面の明るさ(陰影付け),影の表示◦ 物体属性:材質,表面の滑らかさ,色(反射
特性)◦ 反射光計算(直接光+間接光)
レンダリングの処理
隠面消去(back-face culling)
視線ベクトルと法線の内積
D=V・N
D>0 :見えるD
法線ベクトル
法線ベクトルは面を構成する3頂点から算出されるN=(Pi – Pj)×(Pj – Pk)
back-face culling の限界
複数物体、凹形状の扱いには追加の処理が必要
複数の物体
優先順位アルゴリズム奥行きソート法
奥行きソート法の限界
奥行きソート法の限界
スキャンライン法
スキャンライン(走査)に基づいて隠面消去を行う
Zバッファ法
画素ごとに奥行きの値を格納
フレームバッファに描画色を格納
Zバッファ法の特徴
フレームバッファの他にZバッファが必要
アルゴリズムが簡単
ハードウェア化が容易、GPUの多くで採用
画素単位の計算で平面ポリゴンの他、曲面にも適用可能
レイトレーシング(光線追跡法)
視点から各画素を通るレイ(光線)を飛ばす。
レイと物体の交差判定を行う。
交点があれば物体の色で描画
なければ背景色
レイトレーシングによる表示例
レイと球の交点の算出
式変形
0の形
判別式 4 0なら交点を持つ4
2
シェーディングとシャドウイング
シェーディング
◦ 表面の濃淡を光の当たり具合から計算 シャドウイング(影付け)
シェーディングモデル
環境光反射:一様に照らす
拡散反射:法線方向と光源方向の内積
鏡面反射:正反射方向と視線方向
拡散(diffuse)反射モデル
(Lambert反射モデル)
面上の明るさIdは,その位置での法線方向と光源方向との内積cosαに比例
cos0 dd kII
光源方向法線方向反射光の強さα
鏡面(specular)反射
正反射方向
視線方向 光源方向 法線方向
γ
(Phong反射モデル)
光が正反射する方向と視線方向との成す角γ
nss kII cos0
反射成分の強さのイメージ
環境光
物体表面に一様に照らす光
◦ 壁などで反射を繰り返して、空間を一様に照らす光を近似したもの
◦ 陰や影の部分にも明るさを与える (ラジオシティ法:間接光の相互反射を計算)
課題について(球体のレンダリング)
サンプルコード実行結果
+拡散(diffuse)反射モデル(Lambert反射モデル)
+鏡面(specular)反射モデル(Phong反射モデル)
課題のシーン
視点
投影面
z=0 -1000 -1500
r=150
y=200
y=-200
背景
球体
平行光