Metal の Ray Tracing

Metal for Accelerating Ray Tracing
https://developer.apple.com/documentation/metalperformanceshaders/

2018年9月25日に macOS 10.14 Mojave がリリースになりました。カッコいいのでさっそくダークモードにしてみました。

Metal の Raytracing を実行

Metal の Raytracing の実行には macOS Mojave と Xcode10 が必要になります。

https://support.apple.com/ja-jp/HT201475
Apple のサポートサイトを参考に、お使いの macOS を Mojave にアップデートして下さい。

https://itunes.apple.com/jp/app/xcode/id497799835?mt=12
Metal の Raytracing のビルドには Xcode 10 が必要になるため、こちらのインストールをして下さい。

Realtime Raytracing 資料

■ DirectX Raytracing

Getting Started with Raytracing
http://forums.directxtech.com/index.php?topic=5860.0

GDC DirectX Raytracing
https://msdnshared.blob.core.windows.net/media/2018/03/GDC_DXR_deck.pdf

Announcing Microsoft DirectX Raytracing!
https://blogs.msdn.microsoft.com/directx/2018/03/19/announcing-microsoft-directx-raytracing/

■ Metal

Metal for Accelerating Ray Tracing
https://developer.apple.com/documentation/metalperformanceshaders/metal_for_accelerating_ray_tracing

Metal for Ray Tracing Acceleration
https://developer.apple.com/videos/play/wwdc2018/606/
https://devstreaming-cdn.apple.com/videos/wwdc/2018/606id8hzoex3kf/606/606_metal_for_ray_tracing_acceleration.pdf?dl=1

Metal の Raytracing は MPS として提供されています
https://developer.apple.com/documentation/metalperformanceshaders

使った事は無いので詳しくないですが、Metal Performance Shader は Metal の上位レイヤーとして提供されているライブラリー (framework) の事で、MPS を使うことで、各 iOS や Mac に最適化された機械学習やレイトレーシングの機能を利用出来るようになるみたいです。

GPU を使った機能なので shader という名前が付いています。恒例的に仕方ないのは分かるのですが、ニューラルネットワークの機能も提供しているフレームワークの名称が shader  って、何だかややこしいですね。

■ Vulkan

NVIDIA RTX: Enabling Ray Tracing in Vulkan
http://on-demand-gtc.gputechconf.com/gtcnew/on-demand-gtc.php?searchByKeyword=s8521&searchItems=&sessionTopic=&sessionEvent=&sessionYear=2018&sessionFormat=&submit=&select=
http://on-demand.gputechconf.com/gtc/2018/presentation/s8521-advanced-graphics-extensions-for-vulkan.pdf

DirectX12 学習リソース

Project ASURA – DirectX12予習
http://project-asura.com/blog/archives/1215

Direct3D 12 Programming Guide
https://docs.microsoft.com/en-us/windows/desktop/direct3d12/directx-12-programming-guide

Microsoft DirectX 12 and Graphics Education
https://www.youtube.com/channel/UCiaX2B8XiXR70jaN7NK-FpA/feed

Practical DirectX 12
https://developer.nvidia.com/sites/default/files/akamai/gameworks/blog/GDC16/GDC16_gthomas_adunn_Practical_DX12.pdf

Real-Time Rendering

Real-Time Rendering はゲームグラフィックスを学ぶ中で、目に通した方が良いサイトです。

Graphics Books Page
http://www.realtimerendering.com/books.html

Portal
http://www.realtimerendering.com/portal.html

Resources
http://www.realtimerendering.com/index.html

Real-time Rendering 4th edition

2018年8月2日 にリアルタイムレンダリング4版が出版されます。
http://www.realtimerendering.com/blog/real-time-rendering-4th-edition-available-in-august-2018/

Third edition の発売は2008年のようだったので、10年ぶりの改訂版ですね。
自分は second edition の日本語版しか持っていないので、新しいのが出たら買いたいです。

Realtime Rendering Technology 資料

The Rendering Technology of Killzone
https://www.slideshare.net/guerrillagames/the-rendering-technology-of-killzone-2

Deferred Rendering in Killzone 2
https://www.slideshare.net/guerrillagames/deferred-rendering-in-killzone-2-9691589

The Rendering Equation & Monte Carlo Ray Tracing
https://www.cs.rpi.edu/~cutler/classes/advancedgraphics/S11/lectures/13_monte_carlo.pdf

従来のゲーム向けライト(ポイントライト, ディレクショナルライト)で
http://d.hatena.ne.jp/hanecci/20130604/p1

Remember Me の物理ベースレンダリング (GDC Europe 2013)の説明
http://d.hatena.ne.jp/hanecci/20130913/p1

フレネル反射率について
http://d.hatena.ne.jp/hanecci/20130602

大規模CSゲームにおけるライトマス運用
https://www.slideshare.net/EpicGamesJapan/cs-66750222

A Certain Slant of Light – Past, Present and Future Challenges of Global Illumination in Games
https://www.slideshare.net/DICEStudio/siggraph-2017-a-certain-slant-of-light-past-present-and-future-challenges-of-global-illumination-in-games

WebGL Deferred Irradiance Volumes
http://codeflow.org/entries/2012/aug/25/webgl-deferred-irradiance-volumes/

DirectX 12: Execute Indirect and Asynch GPU culling
https://www.youtube.com/watch?v=fKD-VKJeeds

Radiosity Overview: Part 1
https://www.siggraph.org//education/materials/HyperGraph/radiosity/overview_1.htm

Unreal Engine 4 関連調査
http://technorgb.blogspot.com/2015/08/unreal-engine-4.html

Feeding a physically based shading model
https://seblagarde.wordpress.com/2011/08/17/feeding-a-physical-based-lighting-mode/

Adopting a physically based shading model
https://seblagarde.wordpress.com/2011/08/17/hello-world/

DONTNOD Physically based rendering chart for Unreal Engine?4
https://seblagarde.wordpress.com/2014/04/14/dontnod-physically-based-rendering-chart-for-unreal-engine-4/

Schlick’s approximation
https://en.wikipedia.org/wiki/Schlick%27s_approximation

SOLIDANGLE shading ドキュメント
https://support.solidangle.com/display/SItoAUG/Shading

Physically-Based Shading at Disney
http://blog.selfshadow.com/publications/s2012-shading-course/burley/s2012_pbs_disney_brdf_slides_v2.pdf

Real Shading in Unreal Engine 4
https://de45xmedrsdbp.cloudfront.net/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf

Background: Physics and Math of Shading
http://blog.selfshadow.com/publications/s2012-shading-course/hoffman/s2012_pbs_physics_math_slides.pdf

Authoring Real-Time Volumetric Cloudscapes with the Decima Engine
https://www.slideshare.net/guerrillagames/nubis-authoring-realtime-volumetric-cloudscapes-with-the-decima-engine

Microfacet Models for Refraction through Rough Surfaces
https://www.cs.cornell.edu/~srm/publications/EGSR07-btdf.pdf
Microfacet という言葉が使われ始めた初期の論文?

Energy-Conserving Wrapped Diffuse
http://blog.stevemcauley.com/2011/12/03/energy-conserving-wrapped-diffuse/

BASIC THEORY OF PHYSICALLY-BASED RENDERING
https://marmoset.co/posts/basic-theory-of-physically-based-rendering/

PHYSICALLY-BASED RENDERING, AND YOU CAN TOO!
https://marmoset.co/posts/physically-based-rendering-and-you-can-too/

Microfacet Models for Refraction through Rough Surfaces
https://www.cs.cornell.edu/~srm/publications/EGSR07-btdf.pdf

マイクロファセットの分布関数 D(m) について
http://d.hatena.ne.jp/hanecci/20130511/p1

Energy-Conserving Wrapped Diffuse
http://blog.stevemcauley.com/2011/12/03/energy-conserving-wrapped-diffuse/

Monte Carlo integration
https://en.wikipedia.org/wiki/Monte_Carlo_integration

Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs
http://jcgt.org/published/0003/02/03/paper.pdf

A Reflectance Model for Computer Graphics
http://www.graphics.cornell.edu/~westin/consortium-home/cook-tog.pdf

脱・完全鏡面反射~GGXについて調べてみた~
https://qiita.com/_Pheema_/items/f1ffb2e38cc766e6e668

Chapter1. レイトレーシング法とは何か
https://www.vcl.jp/~kanazawa/raytracing/?page_id=1154

Reflection models
http://slideplayer.com/slide/8854613/

Physically-based Illumination Model
http://slideplayer.com/slide/9989581/

Microfacetモデルの重点サンプリング
http://tatsyblog.sakura.ne.jp/wordpress/applications/graphics/1742/

PHYSICALLY-BASED RENDERING, AND YOU CAN TOO!
https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/

Penn graphics
https://www.slideshare.net/floored/penn-graphics

Burley Diffuseについて考えてみる
https://shikihuiku.wordpress.com/2014/05/01/burley-diffuse%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%80%83%E3%81%88%E3%81%A6%E3%81%BF%E3%82%8B/

Physically Based Materials
https://docs.unrealengine.com/en-us/Engine/Rendering/Materials/PhysicallyBased

ART STATION の投稿
https://www.artstation.com/artwork/4OyB4
https://80.lv/articles/how-does-mawi-united-create-natural-assets/

Megascans+Unity
https://www.youtube.com/watch?v=Qyl8C7uWHMc
https://www.youtube.com/watch?v=T4uej9tppsU

Procedural Landscape Generation for Game Environments
https://80.lv/articles/procedural-landscape-generation-for-game-environments/

第1回:鏡面反射光 ハイライトの謎
https://area.autodesk.jp/column/tutorial/3ds_max_kitchen_stadium/1_highlight/

Microfacet入門
https://ushiostarfish.hatenablog.com/entry/2018/03/18/213904
https://ushiostarfish.hatenablog.com/entry/2018/04/01/090603

シェーディングまとめ
http://esprog.hatenablog.com/entry/2016/04/12/210311

Deconvolutionの代わりにPixel Shufflerを使う
http://musyoku.github.io/2017/03/18/Deconvolution%E3%81%AE%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%ABPixel-Shuffler%E3%82%92%E4%BD%BF%E3%81%86/

キーワード
・OpenFOAMによる熱移動と流れの数値解析
・続・有限要素法による流れのシミュレーション
・数値流体力学
・ベクトル解析、マクスウェル方程式

リアルタイムレンダリング技術に関与する参考になる資料。
どの記事もとても素晴らしい内容です。

SIGGRAPH Physically Based Shading

SIGGRAPH 2017 Course: Physically Based Shading in Theory and Practice
http://blog.selfshadow.com/publications/s2017-shading-course/

SIGGRAPH 2016 Course: Physically Based Shading in Theory and Practice
http://blog.selfshadow.com/publications/s2016-shading-course/

SIGGRAPH 2015 Course: Physically Based Shading in Theory and Practice
http://blog.selfshadow.com/publications/s2015-shading-course/

SIGGRAPH 2014 Course: Physically Based Shading in Theory and Practice
http://blog.selfshadow.com/publications/s2014-shading-course/

SIGGRAPH 2013 Course: Physically Based Shading in Theory and Practice
http://blog.selfshadow.com/publications/s2013-shading-course/

SIGGRAPH 2012 Course: Practical Physically Based Shading in Film and Game Production
http://blog.selfshadow.com/publications/s2012-shading-course/

SIGGRAPH 2010 Course: Physically-Based Shading Models in Film and Game Production
http://renderwonk.com/publications/s2010-shading-course/

2011年は無かったのでしょうか…?