Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
0.8.4:pbr-material [2022/06/17 09:43] – [Normal Mapping or Parallax Occlusion Mapping] admin0.8.4:pbr-material [2022/06/19 11:55] (current) – [Setup Environment Mapping] admin
Line 1: Line 1:
 ====== Physically Based Rendering Material (TGorillaPBRMaterialSource) ====== ====== Physically Based Rendering Material (TGorillaPBRMaterialSource) ======
  
-In v0.8.4.2314 we introduced the first version of our physically based rendering material TGorillaPBRMaterialSource which is inherited from the TGorillaDefaultMaterialSource and supports multiple lights, shadowing, fog rendering, clipping and much more.+In v0.8.4.2314 we introduced the first version of our physically based rendering material TGorillaPBRMaterialSource which is inherited from the [[pom-material|TGorillaPOMMaterialSource]] (TGorillaDefaultMaterialSourceand supports multiple lights, shadowing, fog rendering, clipping and much more. 
 + 
 +===== Definiton ===== 
  
 Physically based rendering (PBR) is a computer graphics approach that seeks to render images in a way that models the flow of light in the real world. Many PBR pipelines aim to achieve photorealism. Feasible and quick approximations of the bidirectional reflectance distribution function and rendering equation are of mathematical importance in this field. Photogrammetry may be used to help discover and encode accurate optical properties of materials. Shaders may be used to implement PBR principles. Physically based rendering (PBR) is a computer graphics approach that seeks to render images in a way that models the flow of light in the real world. Many PBR pipelines aim to achieve photorealism. Feasible and quick approximations of the bidirectional reflectance distribution function and rendering equation are of mathematical importance in this field. Photogrammetry may be used to help discover and encode accurate optical properties of materials. Shaders may be used to implement PBR principles.
Line 10: Line 13:
  
 ^Property ^Description ^ ^Property ^Description ^
-|NormalMap|Normal maps are a special kind of texture that allow you to add surface detail such as bumps, grooves, and scratches to a model which catch the light as if they are represented by real geometry. This texture is used for normal-mapping and parallax occlusion mapping mode.|+|NormalMap|[[normalmap-material#normal_maps|Normal maps]]  are a special kind of texture that allow you to add surface detail such as bumps, grooves, and scratches to a model which catch the light as if they are represented by real geometry. This texture is used for normal-mapping and parallax occlusion mapping mode.|
 |NormalIntensity|The normal intensity defines the intended depth effect. The larger the value, the more depth the algorithm is trying to produce.| |NormalIntensity|The normal intensity defines the intended depth effect. The larger the value, the more depth the algorithm is trying to produce.|
 |MetalnessTexture|A Metallic, or Metalness, map, is a black and white texture that acts as a mask that defines areas on a texture set or material that behave like a metal (white) and do not (black).| |MetalnessTexture|A Metallic, or Metalness, map, is a black and white texture that acts as a mask that defines areas on a texture set or material that behave like a metal (white) and do not (black).|
Line 40: Line 43:
  
 If you want to know more about parallax occlusion mapping, have a closer look at the [[pom-material|TGorillaPOMMaterialSource]] If you want to know more about parallax occlusion mapping, have a closer look at the [[pom-material|TGorillaPOMMaterialSource]]
 +
 +==== Comparison ====
 +
 +Let's have comparison on the rendering results for our specific example.
 +
 +__Remark:__ Because parallax occlusion mapping is more intense to GPU computation use it carefully. In most cases normal mapping is still good enough.
 +
  
 In the image below the material was rendered with parallax occlusion mapping, which is much slower than normal mapping but producing a better depth effect. In the image below the material was rendered with parallax occlusion mapping, which is much slower than normal mapping but producing a better depth effect.
Line 85: Line 95:
 But to have a surrounding texture of 360° on all axis, we will need a cubemap texture. This is called environment map or reflection map. But to have a surrounding texture of 360° on all axis, we will need a cubemap texture. This is called environment map or reflection map.
  
-Gorilla3D provides a simple to use render pass component //TGorillaRenderPassEnvironment// to build this map at runtime. +Gorilla3D provides a simple to use render pass component //[[environmentmap|TGorillaRenderPassEnvironment]]// to build this map at runtime. 
-You can choose, if you want to build it oncein case you don'have any moving objects. Or you can build it dynamically at every frame.+You can choose between:  
 +  - Build it oncein case you have not-moving and not-changing objects 
 +  - Build it dynamically at every frame, if your scene is very dynamic
  
 The dynamic computation is more realistic, but often not necessary and it also reduces performance a lot. The dynamic computation is more realistic, but often not necessary and it also reduces performance a lot.
-Read more about environment mapping [[environmentmap|here]].+Read more about [[environmentmap|environment mapping]] here.