Slide 1

Slide 1 text

@gam0022 / Sho HOSODA レンダリング系セッション紹介 + Meetupのすすめ @Mercari GDC 2019 報告会

Slide 2

Slide 2 text

自己紹介 • @gam0022 / Sho HOSODA • KLab株式会社 • グラフィック好きなUnityエンジニア • GDC初参加ながら、GDCで登壇! 2 WORMHOLE by @gam0022 & @sadakkey 1st place in Demo Compo at Tokyo Demo Fest 2018 スポンサーセッションプレゼンター のネームカード

Slide 3

Slide 3 text

Real-World Techniques and Best Practices for Optimizing Android Games • Google と KLab の2社合同セッション ‣ Googleは「Androidのパフォーマンスチューニングのはまりどころ」 ‣ KLabは「Androidゲームの自動プロファイリングシステム」 3

Slide 4

Slide 4 text

Real-World Techniques and Best Practices for Optimizing Android Games アプリのビルドと連携し、プロファイリングと集計が完全自動で行われる! 4

Slide 5

Slide 5 text

Real-World Techniques and Best Practices for Optimizing Android Games アプリのビルドと連携し、プロファイリングと集計が完全自動で行われる! 5 (もし審査が通れば) 国内でもCEDEC 2019で 発表するかも!

Slide 6

Slide 6 text

ここから、本題 8

Slide 7

Slide 7 text

本日の紹介セッション(レンダリング系) • Advanced Graphics Techniques Tutorial シリーズ ‣ Four Million Acres, Seriously: GPU-Based Procedural Terrains in 'Serious Sam 4: Planet Badass' • レイトレ関連 ‣ Real-Time Path Tracing and Denoising in 'Quake 2' ‣ Improving Temporal Antialiasing with Adaptive Ray Tracing ‣ NVIDIA Adaptive Shading Overview • 数学系 ‣ Math for Game Developers: Curves Revisited 9

Slide 8

Slide 8 text

Advanced Graphics Techniques Tutorial: Four Million Acres, Seriously: GPU-Based Procedural Terrains in 'Serious Sam 4: Planet Badass' 'SeriousSam 4'の プロシージャルな地形生成と レンダリングの工夫についての発表 10

Slide 9

Slide 9 text

Advanced Graphics Techniques Tutorial: Four Million Acres, Seriously: GPU-Based Procedural Terrains in 'Serious Sam 4: Planet Badass' マテリアルの合成の工夫 ブレンド率にノイズと高さを乗算 → 品質向上 11

Slide 10

Slide 10 text

Advanced Graphics Techniques Tutorial: Four Million Acres, Seriously: GPU-Based Procedural Terrains in 'Serious Sam 4: Planet Badass' 急な斜面には追加のノイズを与える → 品質向上 12

Slide 11

Slide 11 text

Advanced Graphics Techniques Tutorial: Four Million Acres, Seriously: GPU-Based Procedural Terrains in 'Serious Sam 4: Planet Badass' 木はビルボードで表現 8方向からのテクスチャから、近傍の 2枚のテクスチャをブレンド テクスチャは Albedo, subsurface, normal, AO, depth → ポリゴンと見分けがつかない 13

Slide 12

Slide 12 text

Real-Time Path Tracing and Denoising in 'Quake 2' http://brechpunkt.de/q2vkpt/ Q2VKPT: FPSゲーム 'Quake 2' を Vulkan による パストレーシング で動かすプロジェクト ライトマップなどの事前計算のは一切未使用! 17

Slide 13

Slide 13 text

Real-Time Path Tracing and Denoising in 'Quake 2' q2vkptは1サンプリングのみ → デノイズ(ノイズ除去フィルタ)に注力 18

Slide 14

Slide 14 text

Real-Time Path Tracing and Denoising in 'Quake 2' • デノイズ手法 ‣ SVGF [Schied et al. 2017] (Spatiotemporal Variance-Guided Filtering: Real-Time Reconstruction for Path-Traced Global Illumination) ‣ A-SVGF [Schied et al. 2018] (Gradient Estimation for Real-Time Adaptive Temporal Filtering) 19

Slide 15

Slide 15 text

Improving Temporal Antialiasing with Adaptive Ray Tracing ATAA (Adaptive Temporal Anti-Aliasing) は3種類のAAハイブリッド • 前のフレームが使える時 : ●TAA (Temporal Anti-Aliasing) • 前のフレームが使えない時 : ●FXAA (Fast Approximate Anti-Aliasing) • メッシュのエッジの部分はレイトレで ●SSAA (Super Sampling Anti-Aliasing) 22

Slide 16

Slide 16 text

Improving Temporal Antialiasing with Adaptive Ray Tracing • レイトレのSSAAをするかどうかのマスクは Normal, Depth, 輝度, Mesh ID から生成 • RTX2080でSSAAより最大 3.76 倍高速 23

Slide 17

Slide 17 text

NVIDIA Adaptive Shading Overview • Variable Rate Shading はピクセルシェーダーの解像度を 必要に応じてピクセル単位に変える技術 ‣ シェーディングコストを節約して、4K/8K 映像に対応 ‣ VR用の Foveated Rendering に応用可能 24

Slide 18

Slide 18 text

NVIDIA Adaptive Shading Overview • 解像度(ShadingRate)は前フレームの輝度の微分から決定 • ShadingRate の補正でさらに品質向上 ‣ モーションブラーと低解像度のレンダリング 結果が似ている → ShadingRate を補正 ‣ ポストエフェクトのHDR Bloomは劣化が目立つ → ShadingRate を高める ‣ 高周波のスペキュラー → ShadingRate を高める 25

Slide 19

Slide 19 text

Math for Game Developers: Curves Revisited 曲線について深掘りしていくセッション ベジェ曲線は単なる線形補間(lerp)から構成される話 ベジェ曲線のガイドの頂点を 動かすことによって、 イージングができる話 曲線の理解が深まった 26

Slide 20

Slide 20 text

紹介できなかったセッション • IT JUST WORKS: RAY-TRACED REFLECTIONS IN 'BATTLEFIELD V' ‣ 商用タイトルでのリアルタイムなレイトレの活用事例 • Procedurally Crafting Manhattan for 'Marvel's Spider-Man' ‣ マンハッタンの街並みをプロシージャルに生成 • Advanced Graphics Techniques Tutorial: Wakes, Explosions and Lighting: Interactive Water Simulation in 'Atlas' ‣ 水のシミュレーションとレンダリング • Advanced Graphics Techniques Tutorial: High Zombie Throughput in Modern Graphics ‣ 大量のゾンビを動かす&描画する • Math for Game Developers: Dynamic Bounding Volume Hierarchies ‣ BVHの基礎から動的な構築まで • Math for Game Developers: Procedural Mesh Animation with Non-Linear Transforms ‣ 頂点シェーダーでアニメーション • Interactive Wind and Vegetation in 'God of War' ‣ God of Warの風と草のシミュレーション • RAY-TRACED WATER CAUSTICS WITH DXR ‣ リアルタイムなレイトレでコーティクス • RTX in Justice ‣ リアルタイムなレイトレによる映像作品 27

Slide 21

Slide 21 text

感じたトレンド • プロシージャルは常識に ‣ 'SeriousSam 4' の地形 / 'Spider-Man' の街並み ‣ 'ATLAS' の水 / 'God of War' の風と草 • リアルタイムなレイトレ ‣ 反射/シャドウなど部分的なレイトレは既に商用レベル • 'BATTLEFIELD V' の反射 ‣ リアルタイムなパストレも数年で実用化できる予感 • 'Quake 2' のデノイズ 28

Slide 22

Slide 22 text

発表資料 / 発表動画 リンク集 • GAME DEVELOPERS CONFERENCE 2019 LINKS ‣ 発表資料のリンク集 • GDC Vault (GDC19) ‣ 発表動画のアーカイブ(公式) ‣ coming soon! • 4gamer.net のGDC 2019 記事一覧 ‣ 日本語によるレポート記事 29

Slide 23

Slide 23 text

Meetupのすすめ • GDCは世界中のデベロッパーが一堂に会する場 • 会期中にたくさんのMeetupが開催される ‣ 3/19 San Francisco Shadertoy meetup ‣ 3/20 WebGL/WebVR at GDC! 30 shadertoy.com はシェーダーを投稿できるコミュニティサイト

Slide 24

Slide 24 text

Shadertoy Meetupって何するの? • Shaderプログラミング入門講座 • 自己紹介 • 好きなShaderの解説 31 自己紹介とShader解説する人々 Shadertoy創始者らによる Shaderプログラミング入門講座

Slide 25

Slide 25 text

伝説の 4K byte デモ作者 @iquilezles さん 32 @iquilezles さん Shadertoyの創設者 世界的に有名な 4K byte デモ Elevated 1st place in pc 4k compo at Breakpoint 2009

Slide 26

Slide 26 text

WebGL Water の作者 / three.js の作者 33 @evanwallace さん WebGL Water の開発者 @mrdoob さん WebGLライブラリの three.js の作者 @greggman さん Aaron さん

Slide 27

Slide 27 text

超すごい人々と交流できる! Meetup楽しい!! 34

Slide 28

Slide 28 text

35 END.