From 2baf3ff312a2d247a4ebbd04f5df801837fcf200 Mon Sep 17 00:00:00 2001
From: Andrew Maclean <andrew.amaclean@gmail.com>
Date: Sat, 5 Nov 2022 09:44:22 +1100
Subject: [PATCH] Adding a PBR section to the CxxHowTo and the PythonHowTo

---
 src/CxxHowTo.md    | 21 +++++++++++++++++++++
 src/PythonHowTo.md | 21 +++++++++++++++++++++
 2 files changed, 42 insertions(+)

diff --git a/src/CxxHowTo.md b/src/CxxHowTo.md
index 64c9c78f496..b9a0262ff00 100644
--- a/src/CxxHowTo.md
+++ b/src/CxxHowTo.md
@@ -58,6 +58,27 @@ Here are some snippets and examples that highlight interesting features that may
 [MultipleRenderWindows](/Cxx/Visualization/MultipleRenderWindows) | Multiple Render Windows.
 [MultipleViewports](/Cxx/Visualization/MultipleViewports) | Multiple Viewports.
 
+## Physically Based Rendering
+
+Physically based rendering sets metallicity, roughness, occlusion strength and normal scaling of the object. Textures are used to set base color, ORM, anisotropy and normals. Textures for the image based lighting and the skymap are supplied from a cubemap.
+
+Image based lighting uses a cubemap texture to specify the environment. A Skybox is used to create the illusion of distant three-dimensional surroundings.
+
+The results can be quite spectacular, it is hoped that these examples will help you to get started.
+
+| Example Name | Comments | Image |
+| -------------- | ---------------------- | ------- |
+[PBR_Anisotropy](/Cxx/Rendering/PBR_Anisotropy) | Render spheres with different anisotropy values.
+[PBR_Clear_Coat](/Cxx/Rendering/PBR_Clear_Coat) | Render a cube with custom texture mapping and a coat normal texture.
+[PBR_Edge_Tint](/Cxx/Rendering/PBR_Edge_Tint) | Render spheres with different edge colors using a skybox as image based lighting.
+[PBR_HDR_Environment](/Cxx/Rendering/PBR_HDR_Environment) | Renders spheres with different materials using a skybox as image based lighting.
+[PBR_Mapping](/Cxx/Rendering/PBR_Mapping) | Render a cube with custom texture mapping.
+[PBR_Materials](/Cxx/Rendering/PBR_Materials) | Renders spheres with different materials using a skybox as image based lighting.
+[PBR_Materials_Coat](/Cxx/Rendering/PBR_Materials_Coat) | Render spheres with different coat materials using a skybox as image based lighting.
+[PBR_Skybox](/Cxx/Rendering/PBR_Skybox) | Demonstrates physically based rendering, a skybox and image based lighting.
+[PBR_Skybox_Texturing](/Cxx/Rendering/PBR_Skybox_Texturing) | Demonstrates physically based rendering, a skybox, image based lighting and texturing.
+[PBR_Skybox_Anisotropy](/Cxx/Rendering/PBR_Skybox_Anisotropy) | Demonstrates physically based rendering, a skybox, image based lighting, and anisotropic texturing.
+
 ## Polydata
 
 | Example Name | Comments | Image |
diff --git a/src/PythonHowTo.md b/src/PythonHowTo.md
index d272f6afd5e..094a0137d86 100644
--- a/src/PythonHowTo.md
+++ b/src/PythonHowTo.md
@@ -54,6 +54,27 @@ Here are some snippets and examples that highlight interesting features that may
 [MultipleRenderWindows](/Python/Visualization/MultipleRenderWindows) | Multiple Render Windows.
 [MultipleViewports](/Python/Visualization/MultipleViewports) | Multiple Viewports.
 
+## Physically Based Rendering
+
+Physically based rendering sets metallicity, roughness, occlusion strength and normal scaling of the object. Textures are used to set base color, ORM, anisotropy and normals. Textures for the image based lighting and the skymap are supplied from a cubemap.
+
+Image based lighting uses a cubemap texture to specify the environment. A Skybox is used to create the illusion of distant three-dimensional surroundings.
+
+The results can be quite spectacular, it is hoped that these examples will help you to get started.
+
+| Example Name | Comments | Image |
+| -------------- | ---------------------- | ------- |
+[PBR_Anisotropy](/Python/Rendering/PBR_Anisotropy) | Render spheres with different anisotropy values.
+[PBR_Clear_Coat](/Python/Rendering/PBR_Clear_Coat) | Render a cube with custom texture mapping and a coat normal texture.
+[PBR_Edge_Tint](/Python/Rendering/PBR_Edge_Tint) | Render spheres with different edge colors using a skybox as image based lighting.
+[PBR_HDR_Environment](/Python/Rendering/PBR_HDR_Environment) | Renders spheres with different materials using a skybox as image based lighting.
+[PBR_Mapping](/Python/Rendering/PBR_Mapping) | Render a cube with custom texture mapping.
+[PBR_Materials](/Python/Rendering/PBR_Materials) | Renders spheres with different materials using a skybox as image based lighting.
+[PBR_Materials_Coat](/Python/Rendering/PBR_Materials_Coat) | Render spheres with different coat materials using a skybox as image based lighting.
+[PBR_Skybox](/Python/Rendering/PBR_Skybox) | Demonstrates physically based rendering, a skybox and image based lighting.
+[PBR_Skybox_Texturing](/Python/Rendering/PBR_Skybox_Texturing) | Demonstrates physically based rendering, a skybox, image based lighting and texturing.
+[PBR_Skybox_Anisotropy](/Python/Rendering/PBR_Skybox_Anisotropy) | Demonstrates physically based rendering, a skybox, image based lighting, and anisotropic texturing.
+
 ## Polydata
 
 | Example Name | Comments | Image |
-- 
GitLab