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
Babylon.jsで作ったsceneをレイトレーシングで映えさせる
Search
turamy
July 10, 2022
Programming
1.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Babylon.jsで作ったsceneをレイトレーシングで映えさせる
turamy
July 10, 2022
Other Decks in Programming
See All in Programming
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
120
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
190
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
640
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
1
350
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
290
関数型プログラミングのメリットって何だろう?
wanko_it
0
190
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
500
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
110
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.3k
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
8
3.1k
霧の中の代数的エフェクト
funnyycat
1
420
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Done Done
chrislema
186
16k
Discover your Explorer Soul
emna__ayadi
2
1.2k
How STYLIGHT went responsive
nonsquared
100
6.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
Designing for humans not robots
tammielis
254
26k
Scaling GitHub
holman
464
140k
Designing Experiences People Love
moore
143
24k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Transcript
Babylon.jsでレイトレーシング Babylon.js ゆるほめLT会
自己紹介 つらみぃ ・半導体装置の光学系開発 構造解析・光学シミュレーションとか ・Babylon.js歴1.5ヶ月 ブラウザでGPGPUできるのすごい! まずはBabylon.jsでシェーダーを弄る練習 @turamy3D
レイトレーシングって? 視線の方向にレイを打ち出し、 反射・屈折する光の量を計算して色を決める
やったこと Mesh, Materialデータを TextureのRGBに書込み シェーダーに 送る レイトレの結果を Canvasに描画 Babylon.js Scene
Texture Ray Tracing Shader
レイトレーシングのすごいところ でも計算コストはとても高い。。。 多重反射・屈折 自然なボケ
自由度の高いマテリアル表現
気づき ・レイトレーシングはシンプルだけど超強力 ・クロスプラットフォームかつ特別な環境なしに GPGPUできるのは魅力的 (しかもBabylon.jsを使えば簡単!) ・次はBabylon.js 5.0で対応したWebGPUを使ってみたい (もっと高速らしい)
Appendix
Playgroundデモ ・水面の反射・屈折のデモ ★★★★ https://www.babylonjs-playground.com/#MHTAGR#3 ・多重反射・屈折のデモ ★★★★ https://www.babylonjs-playground.com/#8EI65X#5 ・レンズボケのデモ ★ https://www.babylonjs-playground.com/#BD7XZ9#3
・マテリアル表現のデモ ★★ https://www.babylonjs-playground.com/#5IS6A5#2 ※★の数が多いほどレンダリング負荷高め
参考文献 [1] Tomas Akenine-Moller, Eric Haines, Naty Hoffman, Angelo Pesce,
Sebastien Hillaire, Michał Iwanicki, 中本 浩 訳, “リアルタイムレンダリング 第4版”, 株式会社 ボーンデジタル, 2019 https://www.borndigital.co.jp/book/15291.html [2] Fletcher Dunn, Ian Parberry, 松田 晃一 訳, “実例で学ぶゲーム3D数学”, O'Reilly Japan, 2008 https://www.oreilly.co.jp/books/9784873113777/ https://gamemath.com/ [3] Brian Karis, “Real Shading in Unreal Engine 4”, Epic Games, 2013 https://de45xmedrsdbp.cloudfront.net/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf [4] Mark Jarzynski, Marc Olano, “Hash Functions for GPU Rendering”, Journal of Computer Graphics Techniques (JCGT), vol. 9, no. 3, 21-38, 2020 https://jcgt.org/published/0009/03/02/ [5] 細田 翔, “gam0022.net” https://gam0022.net/ [6] Playgroundで見つけたパストレーシングのデモ : https://playground.babylonjs.com/#PW0QJI#11