Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
RAY TRACING 古典的レイトレーサーからはじめるレイトレーシング
Slide 2
Slide 2 text
古典的レイトレーシング(CLASSICAL RAY TRACING) • コンピューターグラフィクス黎明期に流行ったもの
Slide 3
Slide 3 text
古典的レイトレーシング(CLASSICAL RAY TRACING) • コンピューターグラフィクス黎明期に流行ったもの • 物理的に正しくはないが、陰影計算ができる
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
CG感半端ないけどちゃんと影ついてる
Slide 6
Slide 6 text
古典的レイトレーシング(CLASSICAL RAY TRACING) • コンピューターグラフィクス黎明期に流行ったもの • 物理的に正しくはないが、陰影計算ができる • はじめてのレイトレに最適
Slide 7
Slide 7 text
古典的レイトレーシング(CLASSICAL RAY TRACING) • コンピューターグラフィクス黎明期に流行ったもの • 物理的に正しくはないが、陰影計算ができる • はじめてのレイトレに最適 これからみんなに作ってもらいます
Slide 8
Slide 8 text
CLASSICAL RAY TRACER構造図
Slide 9
Slide 9 text
VEC3クラス • 3次元ベクトルを表すクラス • 四則演算、内積、外積なども定義されている Ԧ +
Slide 10
Slide 10 text
RAYクラス • Rayを表す Ԧ Ԧ Ԧ + Ԧ
Slide 11
Slide 11 text
HITクラス • 衝突情報を格納するクラス • 衝突距離、衝突位置、法線などの情報を持つ Sphere Ray
Slide 12
Slide 12 text
IMAGEクラス • 画像データを格納し、PPM画像として出力する機能を持つ • 指定した画素に色を書き込む機能を持つ
Slide 13
Slide 13 text
(, ) 画像の座標系(10*8の場合) (0, 0) (10, 8) 10 8
Slide 14
Slide 14 text
CAMERAクラス • 画素 , に対応するRayを返す機能を持つ (, ) Ray
Slide 15
Slide 15 text
ピンホールカメラ ピンホール カメラセンサー
Slide 16
Slide 16 text
SHAPEクラス • 物体の形を表すクラス • 与えられたRayとの衝突計算を行う Sphere Ray
Slide 17
Slide 17 text
MATERIALクラス • 物体の材質を表すクラス • Diffuse(マットな面), Mirror(鏡面), Glass(ガラス)の3つを用意する • 受け取ったRayを反射させる機能を持つ Sphere Ray
Slide 18
Slide 18 text
PRIMITIVEクラス • ShapeとMaterialをデータとして持つクラス • シーンの中の物体はすべてPrimitiveで記述される
Slide 19
Slide 19 text
ACCELクラス • 物体集合を管理するクラス • すべての物体と衝突計算を行う機能を持つ
Slide 20
Slide 20 text
ray = cam->getRay(i, j) accel->intersect(ray, hit) hitの中身によって画素に色を書き 込む Ray Tracingの流れ