# Physically Based Rendering

## Introduction to PBR

Physically Based Rendering (PBR) is a rendering technique based on physical and mathematical principles, providing realistic visual reproduction of materials in modern game engines and visualization software. \
PBR achieves significant visual similarity to real materials, including metals and dielectrics.

## From Phong to PBR

Past lighting models like Phong used an empirical approach that simulated materials like plastic well but was limited for other surfaces. \
Unlike Phong, PBR offers a unified approach backed by physically-based lighting models.

## Cook-Torrance Model

Within the GEM RTS, the Cook-Torrance model, one of the most validated and effective within the PBR framework, is used. This model accurately reproduces the interaction of light with different types of surfaces.

## Key benefits of Physically Based Rendering

* **Efficiency**\
  Optimized for modern graphics cards, PBR can be used in real-time without significant performance losses.
* **Consistency**\
  Rendering with PBR ensures visual effect stability when lighting conditions change.
* **Intuitiveness**\
  PBR material parameters are easy for artists and modelers to understand, simplifying the material creation and editing process.
* **Tools**\
  Many tools are available for working with PBR materials, such as Substance Painter, 3D Coat, and Marmoset, which offer capabilities for creating, editing, and exporting PBR textures.

PBR has become the standard in modern 3D rendering, providing developers with tools to create visually appealing and physically plausible scenes and objects in games.

## Useful PBR Resources

Here is a list of resources related to PBR (Physically Based Rendering) that may be useful for learning and applying this technology:

* [Physically Based Rendering in Filament](https://google.github.io/filament/Filament.md.html)\
  Detailed information about physically-based rendering.
* [CRAFTING PHYSICALLY-BASED MATERIALS](https://google.github.io/filament/Material%20Properties.pdf)\
  A document explaining the properties of materials in the context of PBR.
* [Filament Materials Guide](https://google.github.io/filament/Materials.html)\
  A guide to creating materials for use with the PBR system.
* [\[SH17C\] Physically Based Shading](https://www.shadertoy.com/view/4sSfzK)\
  An interactive program on ShaderToy that allows real-time adjustment of material and lighting parameters.
* [PBR Texture Conversion](https://marmoset.co/posts/pbr-texture-conversion/)\
  An article on converting traditional textures to formats suitable for PBR.
* Texture Library\
  Ambientcg.com provides a variety of textures that can be used in PBR workflows.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bestway.com.ua/textures-and-materials/physically-based-rendering.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
