<aside> 💡 The page was originally based on a primer of PBR (Physically Based Rendering) using Unity as the primary example. However, since I found that almost all of the main concepts are explained in detail in implementable forms on LearnOpenGL.com, I have rewritten the page so that you can run all the samples in a browser. As a result, this page has become pretty much a visual summary of what I have learned from LearnOpenGL.com. Most of what is written on this page is also described in more detail in the links.

このページの元になったプレゼンテーションは主にUnityを例にPBR(Physically based rendering)を説明するものでしたが、ほとんどの主要な概念がLearnOpenGL.comで実装可能な形で詳細に説明されているのを見つけたので、ブラウザで全てのサンプルが実行できるように書き直しました。結果として、このページは自分がLearnOpenGL.comから学んだことのビジュアルなまとめのようになってしまいました。ここに書かれていることのほとんどはリンク先にもより詳しく書かれています。

</aside>

Let’s learn about the nature of light by learning more physically accurate rendering techniques. Here we will use LearnOpenGL.com's implementation as a reference so that we can run it in real time in the browser. The details of the implementation in the linked page, so the emphasis here is on learning the basic concepts.

より物理的に正確なレンダリング手法を学ぶことで、光の性質について学びましょう。ここではブラウザ上でリアルタイムに動かせるように LearnOpenGL.com の実装を参考にします。実装の詳細はリンク先で細かく説明されているので、ここでは基本的な考え方を説明することに重きを起きます。

LearnOpenGL - Theory

Filament's page is also a very helpful resource.

Filament のページも参考になります。

Physically Based Rendering in Filament

Environment Light

環境光

On the page about classic methods, we built a simple model assuming only point light sources and uniform ambient light. In a real environment, light comes from all directions with varying colors and intensities. Light from the sun or from lighting is scattered in the atmosphere or reflected off the surface of an object, then reflected back onto another object, and so on, until the space is filled with light.

古典的な手法についてのページでは、点光源と均一な環境光だけを想定して単純なモデルを構築しました。実際の環境では光はあらゆる方向からやってきます。太陽や照明から出た光が大気で散乱したり物体の表面で反射し、さらにその光が別の物体に反射し、と繰り返し空間は光に満たされます。

Screenshot 2023-03-19 at 9.24.57 PM.png

In high-quality 3D rendering, a technique generally called ray tracing is used to simulate actual phenomena as closely as possible by following the trajectory of light particles. The higher the accuracy, the more calculations are required, so rendering takes longer.

高品質な3Dレンダリングでは、一般にレイトレーシングと呼ばれる技術を用い、光の粒子の軌跡を忠実に追いかけることで実際の現象を可能な限り再現します。精度が高いほど計算量が多くなるため、レンダリングに時間がかかります。