Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2018年新歓説明会 レイ班
Search
yumcyawiz
April 01, 2018
Programming
0
70
2018年新歓説明会 レイ班
OSKの2018年新歓説明会 レイ班の説明資料です。
レイ班ではレイトレーシング・物理ベースレンダリングの研究開発を行っています。
yumcyawiz
April 01, 2018
Tweet
Share
More Decks by yumcyawiz
See All by yumcyawiz
rtcamp 10 (vk-illuminati)
yumcyawiz
1
270
ReSTIRの数理と実装 (rtcamp10)
yumcyawiz
1
770
fredholm(rtcamp9)
yumcyawiz
0
100
フォトンマッピングをパス空間から考える
yumcyawiz
0
360
fredholm
yumcyawiz
0
250
Introduction to volume rendering
yumcyawiz
0
2k
OSK#p-ray2020年度講義: 古典的レイトレーサーの実装
yumcyawiz
0
250
Ray Tracing: Overview
yumcyawiz
7
1.2k
GLSLでパストレーシングしてコーネルボックスを出す
yumcyawiz
0
440
Other Decks in Programming
See All in Programming
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
160
TypeScript でバックもやるって実際どう? 実運用で困ったこと3選
yuichiro_serita
17
7.7k
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
190
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
230
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.4k
[JAWS-UG横浜 #76] イケてるアップデートを宇宙いち早く紹介するよ!
maroon1st
0
430
似たもの同士のPerlとPHP
uzulla
1
120
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
890
CSC305 Lecture 26
javiergs
PRO
0
130
物流システムにおけるリファクタリングとアーキテクチャの再構築 〜依存関係とモジュール分割の重要性〜
deeprain
1
1.2k
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
110
あれやってみてー駆動から成長を加速させる / areyattemite-driven
nashiusagi
1
190
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Rails Girls Zürich Keynote
gr2m
94
13k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Gamification - CAS2011
davidbonilla
80
5.1k
Being A Developer After 40
akosma
87
590k
Site-Speed That Sticks
csswizardry
1
180
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Agile that works and the tools we love
rasmusluckow
328
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Transcript
RAY TRACING MONTE CARLO INTEGRATION AND PHYSICALLY BASED RENDERING
RAY TRACINGとは?
RAY TRACINGとは? • Ray Tracingは写実的なCGを生成するための計算方法
None
写真じゃなくてCGだよ!!
コンピューターで現実のようにリアルな画像が生成できる
美しいガラス玉
大気の色のシミュレーション
魚眼カメラのようにすることも可能
一眼レフで撮ったようなボケ味の効いた写真、ではなくCG!
Ray班に入るとこんなリアルなCGが自分の書いたプログラムで生成できる!
どんなところで使われてるの?
映画(トイストーリー、トランスフォーマーなど)
映画(トイストーリー、トランスフォーマーなど) 全てRayTracingで計算されている!!
光学機器設計(カメラのレンズの設計)
光学機器設計(カメラのレンズの設計) RayTracingで光の屈折を計算する
光学シミュレーション
光に関することは大体Ray Tracingで計算できる!!
画像を作る仕組み
視点 スクリーン 物体
視点 スクリーン 物体 画素に向けてレイを飛ばす レイ
視点 スクリーン 物体 レイが何にも当たらないので色をつけない
視点 スクリーン 物体 レイが緑色の物体に当たった
視点 スクリーン 物体 緑色を画素に書き込む
視点 スクリーン 物体 この操作を全画素に渡って繰り返す
スクリーン 物体 最終的な画像が得られる 視点
リアルなCGを作るには?
リアルなCGを作るには? • レイを飛ばした先から飛んでくる光の強さが計算できればOK
リアルなCGを作るには? • レイを飛ばした先から飛んでくる光の強さが計算できればOK
リアルなCGを作るには? • レイを飛ばした先から飛んでくる光の強さが計算できればOK ?
入ってくる光はどこかで反射したもの
反射光 入射光
入ってくる光は? ?
入ってくる光もどこかで反射したもの
入ってくる光もどこかで反射したもの ?
入ってくる光もどこかで反射したもの
反射を再帰的に追跡していく
実際にはあらゆる方向から光が入って反射する
一方向だけをランダムに選ぶ
一方向だけをランダムに選ぶ
光を追跡する
一方向をランダムに選ぶ
光を追跡する
これを何回も繰り返す
RGB(0, 110, 255) 何回も繰り返して平均を取れば計算できる!!
繰り返し回数が少ないとノイズが多くなる
反射1回 反射をどこまで追いかけるのかも重要
反射2回
反射3回
反射4回
プログラミング • C++という言語を用いてプログラムを書いていく
プログラミング • C++という言語を用いてプログラムを書いていく • オブジェクト志向プログラミングという方法で全体のプログラムを作っていく
Vec3クラス
プログラミング • C++という言語を用いてプログラムを書いていく • オブジェクト志向プログラミングという方法で全体のプログラムを作っていく • 途中まで競プロ班と一緒にC++班として活動します
Ray班に入って一緒にレイトレしようぜ!!!
ご清聴ありがとうございました