グラフィックエンジン制作

https://github.com/masukt/Andere
趣味でグラフィックスエンジンを作成してみたいと思いリポジトリを作ってみました。
リポジトリを作っただけで終わらないように気を付けます (笑)

最低限 Windows で D3D12 と Vulkan には対応させたい。

実装の過程などをまとめていき、上手く行ったら電子書籍などで出すことを目標としています。

C#/WPF の参考資料

Dark WPF Theme for Standard- and ExtendedWPFToolkit-Controls
https://github.com/steto-scope/Monotone
洗練された WPF テーマです。
AvalonDock も使用されており、WPF でアプリケーションを作る際にとても良いです。

WPF での図形と基本描画の概要
https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/graphics-multimedia/shapes-and-basic-drawing-in-wpf-overview
図形の描画さえ出来れば、必要なコントローラの自作が出来ます。

WPF4.5入門
https://blog.okazuki.jp/entry/2014/12/27/200015
WPF を入門する上で大変参考になります。

C# Tutorial 19 WPF & XAML
https://www.youtube.com/watch?v=G-BRSwClK_4
Youtube のオンライン講座です。大変勉強になります。

プロジェクトマネジメント

  • 全体感をつかむ
  • 目的と目標 (=成功基準) を明確にする
  • 体制 (=ステークホルダー) を明確にする
  • 要求事項の収集・整理をする
  • 作業を洗い出す

(マンガでわかるプロジェクトマネジメントから)

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年は無かったのでしょうか…?

数式プラグインの Mathjax

$$L_{0}=L_{e}+\int _{\Omega }L_{i}\cdot f_{r}\cdot \cos \theta \cdot d\omega$$

レンダリング方程式。
Rendering equation.

手書きで書いた数式を MathJax 形式に変換してくれるサイトがあって凄い便利です。
There is a transform webpage into MathJax’ numerical formula by handwritten math.
That is so useful.
https://webdemo.myscript.com/views/math.html

こちらのサイトも便利。
This webpage is also useful.
http://easy-copy-mathjax.xxxx7.com/