• Shader

PBR shader parameters

By: SKY ENGINE AI
scroll down ↓to find out moretutorial_testResourceTutorial_pbr-shader-parameters_1

PBR Shader Parameters

In this tutorial you will get familiar with PBRShader's parameters. You will see how change of parameter values
affect materials using PBRShader.

Agenda:

  • PBRShader look - basic parameters
  • PBRShader control parameters

Scene setup

Let's use custom scene composer to set up the scene.

from skyrenderer.cases.utils import MaterialsSceneComposer from skyrenderer.basic_types.procedure import PBRShader from skyrenderer.scene.scene_layout.layout_elements_definitions import MaterialDefinition scene_composer = MaterialsSceneComposer(antialiasing_level=2048) scene_composer.setup_scene() pbr_shader = PBRShader(scene_composer.renderer_context) material_definition = MaterialDefinition(shader=pbr_shader) scene_composer.renderer_context.set_material_definition( node_name="shaderball_GEO", material_definition=material_definition )
2025-02-04 10:45:01,371 | skyrenderer.scene.renderer_context | INFO: Root paths: - root path: /dli/skyenvironment/skyrenderer/skyrenderer - assets path: /dli/mount/assets - config path: /dli/skyenvironment/skyrenderer/skyrenderer/config - gpu sources path: /dli/skyenvironment/skyrenderer/skyrenderer/optix_sources/sources - cache path: /dli/mount/cache - ptx cache path: compiled_ptx/ptx - ocio path: ocio_configs/aces_1.2/config.ocio

PBRShader look - basic parameters

In this section we will walk you through changing and setting basic PBRShader parameters:

  • alpha and base color
  • metallic and roughness
  • clearcoat parameters
  • fresnel parameters
  • perlin noise
    During that, we will use update default parameter methodology known from Procedure tutorial.

Alpha nad base color

renders = {} renders["alpha=1"] = scene_composer.get_render() PBRShader.update_default_parameter("alpha", 0.5) renders["alpha=0.5"] = scene_composer.get_render() PBRShader.update_default_parameter("alpha", 0.25) renders["alpha=0.25"] = scene_composer.get_render() PBRShader.update_default_parameter("alpha", 1) PBRShader.update_default_parameter("base_color", (1, 0, 0)) renders["base_color=(1, 0, 0)"] = scene_composer.get_render() PBRShader.update_default_parameter("base_color", (1, 1, 0)) renders["base_color=(1, 1, 0)"] = scene_composer.get_render() PBRShader.update_default_parameter("base_color", (1, 0.7, 0.4)) renders["base_color=(1, 0.7, 0.4)"] = scene_composer.get_render() PBRShader.update_default_parameter("base_color", (1, 1, 1)) scene_composer.visualize_grid_desc(renders, shape=(1000, 1500), n_cols=3)
pbr-shader-parameters_1_resourcesTutorial
2025-02-04 10:45:01,814 | skyrenderer.utils.time_measurement | INFO: Setup time: 403 ms 2025-02-04 10:45:04,607 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.79 seconds 2025-02-04 10:45:28,903 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:45:28,906 | skyrenderer.utils.time_measurement | INFO: Render time: 24.30 seconds 2025-02-04 10:45:28,991 | skyrenderer.utils.time_measurement | INFO: Setup time: 59 ms 2025-02-04 10:45:32,340 | skyrenderer.utils.time_measurement | INFO: Context update time: 3.35 seconds 2025-02-04 10:45:50,310 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:45:50,311 | skyrenderer.utils.time_measurement | INFO: Render time: 17.97 seconds 2025-02-04 10:45:51,304 | skyrenderer.utils.time_measurement | INFO: Setup time: 974 ms 2025-02-04 10:45:54,350 | skyrenderer.utils.time_measurement | INFO: Context update time: 3.05 seconds 2025-02-04 10:46:12,467 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:46:12,468 | skyrenderer.utils.time_measurement | INFO: Render time: 18.12 seconds 2025-02-04 10:46:12,559 | skyrenderer.utils.time_measurement | INFO: Setup time: 73 ms 2025-02-04 10:46:15,440 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.88 seconds 2025-02-04 10:46:27,564 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:46:27,565 | skyrenderer.utils.time_measurement | INFO: Render time: 12.12 seconds 2025-02-04 10:46:27,632 | skyrenderer.utils.time_measurement | INFO: Setup time: 54 ms 2025-02-04 10:46:30,505 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.87 seconds 2025-02-04 10:46:42,513 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:46:42,514 | skyrenderer.utils.time_measurement | INFO: Render time: 12.01 seconds 2025-02-04 10:46:42,584 | skyrenderer.utils.time_measurement | INFO: Setup time: 53 ms 2025-02-04 10:46:45,357 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.77 seconds 2025-02-04 10:46:57,499 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:46:57,500 | skyrenderer.utils.time_measurement | INFO: Render time: 12.14 seconds

Metallic and roughness

renders = {} PBRShader.update_default_parameter("roughness", 0.01) renders["roughness=0.01"] = scene_composer.get_render() PBRShader.update_default_parameter("roughness", 0.5) renders["roughness=0.5"] = scene_composer.get_render() PBRShader.update_default_parameter("roughness", 1.0) renders["roughness=1.0"] = scene_composer.get_render() PBRShader.update_default_parameter("roughness", 0.0) PBRShader.update_default_parameter("metallic", 0.0) renders["roughness=0,metallic=0.0"] = scene_composer.get_render() PBRShader.update_default_parameter("metallic", 0.5) renders["roughness=0,metallic=0.5"] = scene_composer.get_render() PBRShader.update_default_parameter("metallic", 1) renders["roughness=0,metallic=1"] = scene_composer.get_render() PBRShader.update_default_parameter("metallic", 0) scene_composer.visualize_grid_desc(renders, shape=(1000, 1500), n_cols=3)
pbr-shader-parameters_2_resourcesTutorial
2025-02-04 10:46:58,039 | skyrenderer.utils.time_measurement | INFO: Setup time: 55 ms 2025-02-04 10:47:01,014 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.97 seconds 2025-02-04 10:47:12,473 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:47:12,474 | skyrenderer.utils.time_measurement | INFO: Render time: 11.46 seconds 2025-02-04 10:47:12,545 | skyrenderer.utils.time_measurement | INFO: Setup time: 54 ms 2025-02-04 10:47:15,328 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.78 seconds 2025-02-04 10:47:26,824 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:47:26,825 | skyrenderer.utils.time_measurement | INFO: Render time: 11.50 seconds 2025-02-04 10:47:26,892 | skyrenderer.utils.time_measurement | INFO: Setup time: 54 ms 2025-02-04 10:47:29,895 | skyrenderer.utils.time_measurement | INFO: Context update time: 3.00 seconds 2025-02-04 10:47:41,818 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:47:41,819 | skyrenderer.utils.time_measurement | INFO: Render time: 11.92 seconds 2025-02-04 10:47:41,898 | skyrenderer.utils.time_measurement | INFO: Setup time: 56 ms 2025-02-04 10:47:44,659 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.76 seconds 2025-02-04 10:47:56,762 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:47:56,763 | skyrenderer.utils.time_measurement | INFO: Render time: 12.10 seconds 2025-02-04 10:47:56,830 | skyrenderer.utils.time_measurement | INFO: Setup time: 54 ms 2025-02-04 10:47:59,782 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.95 seconds 2025-02-04 10:48:11,262 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:48:11,263 | skyrenderer.utils.time_measurement | INFO: Render time: 11.48 seconds 2025-02-04 10:48:11,331 | skyrenderer.utils.time_measurement | INFO: Setup time: 55 ms 2025-02-04 10:48:14,217 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.89 seconds 2025-02-04 10:48:21,613 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:48:21,614 | skyrenderer.utils.time_measurement | INFO: Render time: 7.40 seconds

Clearcoat parameters

In SkyRenderer's PBR shader there is a clearcoat (thin outer layer) behavior modelled. It is disabled by default,
but can be enabled at any time.

renders = {} PBRShader.update_default_parameter("base_color", (1, 0, 0)) PBRShader.update_default_parameter("roughness", 1) PBRShader.update_default_parameter("metallic", 1) PBRShader.update_default_parameter("clearcoat_roughness", 1) renders["no clearcoat"] = scene_composer.get_render() PBRShader.update_default_parameter("clearcoat_factor", 0.5) renders["clearcoat_factor=0.5"] = scene_composer.get_render() PBRShader.update_default_parameter("clearcoat_factor", 1) renders["clearcoat_factor=1"] = scene_composer.get_render() PBRShader.update_default_parameter("clearcoat_roughness", 0.0) renders["clearcoat_factor=1,roughness=0"] = scene_composer.get_render() PBRShader.update_default_parameter("clearcoat_roughness", 0.5) renders["clearcoat_factor=1,roughness=0.5"] = scene_composer.get_render() PBRShader.update_default_parameter("clearcoat_roughness", 1) renders["clearcoat_factor=1,roughness=1"] = scene_composer.get_render() scene_composer.visualize_grid_desc(renders, shape=(1000, 1500), n_cols=3) PBRShader.update_default_parameter("clearcoat_factor", 0.0) PBRShader.update_default_parameter("base_color", (1, 1, 1))
pbr-shader-parameters_3_resourcesTutorial
2025-02-04 10:48:22,094 | skyrenderer.utils.time_measurement | INFO: Setup time: 56 ms 2025-02-04 10:48:24,863 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.77 seconds 2025-02-04 10:48:35,803 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:48:35,804 | skyrenderer.utils.time_measurement | INFO: Render time: 10.94 seconds 2025-02-04 10:48:35,870 | skyrenderer.utils.time_measurement | INFO: Setup time: 53 ms 2025-02-04 10:48:38,845 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.97 seconds 2025-02-04 10:48:49,666 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:48:49,667 | skyrenderer.utils.time_measurement | INFO: Render time: 10.82 seconds 2025-02-04 10:48:49,736 | skyrenderer.utils.time_measurement | INFO: Setup time: 56 ms 2025-02-04 10:48:52,522 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.78 seconds 2025-02-04 10:49:04,047 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:49:04,048 | skyrenderer.utils.time_measurement | INFO: Render time: 11.53 seconds 2025-02-04 10:49:04,120 | skyrenderer.utils.time_measurement | INFO: Setup time: 54 ms 2025-02-04 10:49:07,097 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.98 seconds 2025-02-04 10:49:18,111 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:49:18,112 | skyrenderer.utils.time_measurement | INFO: Render time: 11.01 seconds 2025-02-04 10:49:18,179 | skyrenderer.utils.time_measurement | INFO: Setup time: 54 ms 2025-02-04 10:49:20,956 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.78 seconds 2025-02-04 10:49:32,615 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:49:32,615 | skyrenderer.utils.time_measurement | INFO: Render time: 11.66 seconds 2025-02-04 10:49:32,681 | skyrenderer.utils.time_measurement | INFO: Setup time: 53 ms 2025-02-04 10:49:35,596 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.91 seconds 2025-02-04 10:49:46,538 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:49:46,539 | skyrenderer.utils.time_measurement | INFO: Render time: 10.94 seconds

Fresnel parameters

In Physically-Based Rendering (PBR) shading, Fresnel refers to the way light reflects off a surface at different
angles, particularly how more light is reflected at grazing angles. This effect is modeled using the Fresnel
equation, which describes how reflection intensity changes based on the incident angle and the material's
refractive index. In PBR, the Fresnel term is often incorporated into specular highlights and is crucial for
realistic materials, like metals and dielectrics, as it helps achieve more accurate reflections by blending
between direct reflection at normal incidence and sharper, more intense reflection at glancing angles.

renders = {} PBRShader.update_default_parameter("metallic", 0) PBRShader.update_default_parameter("roughness", 0) PBRShader.update_default_parameter("ior", 1) renders["ior=1"] = scene_composer.get_render() PBRShader.update_default_parameter("ior", 1.5) renders["ior=1.5"] = scene_composer.get_render() PBRShader.update_default_parameter("ior", 2) renders["ior=2"] = scene_composer.get_render() PBRShader.update_default_parameter("ior", 1.45) PBRShader.update_default_parameter("fresnel_factor", 0) renders["fresnel_factor=0"] = scene_composer.get_render() PBRShader.update_default_parameter("fresnel_factor", 0.5) renders["fresnel_factor=0.5"] = scene_composer.get_render() PBRShader.update_default_parameter("fresnel_factor", 1.0) renders["fresnel_factor=1"] = scene_composer.get_render() scene_composer.visualize_grid_desc(renders, shape=(1000, 1500), n_cols=3)
pbr-shader-parameters_4_resourcesTutorial
2025-02-04 10:49:47,028 | skyrenderer.utils.time_measurement | INFO: Setup time: 55 ms 2025-02-04 10:49:49,813 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.78 seconds 2025-02-04 10:50:01,196 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:50:01,197 | skyrenderer.utils.time_measurement | INFO: Render time: 11.38 seconds 2025-02-04 10:50:01,263 | skyrenderer.utils.time_measurement | INFO: Setup time: 53 ms 2025-02-04 10:50:04,162 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.90 seconds 2025-02-04 10:50:16,322 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:50:16,323 | skyrenderer.utils.time_measurement | INFO: Render time: 12.16 seconds 2025-02-04 10:50:16,390 | skyrenderer.utils.time_measurement | INFO: Setup time: 53 ms 2025-02-04 10:50:19,173 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.78 seconds 2025-02-04 10:50:30,626 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:50:30,628 | skyrenderer.utils.time_measurement | INFO: Render time: 11.45 seconds 2025-02-04 10:50:30,699 | skyrenderer.utils.time_measurement | INFO: Setup time: 54 ms 2025-02-04 10:50:33,669 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.97 seconds 2025-02-04 10:50:45,700 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:50:45,701 | skyrenderer.utils.time_measurement | INFO: Render time: 12.03 seconds 2025-02-04 10:50:45,768 | skyrenderer.utils.time_measurement | INFO: Setup time: 53 ms 2025-02-04 10:50:48,559 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.79 seconds 2025-02-04 10:51:00,683 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:51:00,684 | skyrenderer.utils.time_measurement | INFO: Render time: 12.12 seconds 2025-02-04 10:51:00,754 | skyrenderer.utils.time_measurement | INFO: Setup time: 53 ms 2025-02-04 10:51:03,744 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.99 seconds 2025-02-04 10:51:15,137 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:51:15,138 | skyrenderer.utils.time_measurement | INFO: Render time: 11.39 seconds

Perlin noise

Perlin noise is a gradient noise that can be applied in various ways to create procedural perturbations
of textures or geometries (see Wikipedia).

SkyRenderer PBR shader has a few built-in ripples based on improved Perlin noise that can be applied to normals.
There are three types of built-in noises:

  • perlin_noise_type=1 Smooth,
  • perlin_noise_type=2 Marbled,
  • perlin_noise_type=3 Crinkled.
    Also, you can control frequency of a noise with perlin_noise_frequency parameter.
renders = {} PBRShader.update_default_parameter("perlin_noise_type", 1) renders["perlin_noise_type=1"] = scene_composer.get_render() PBRShader.update_default_parameter("perlin_noise_type", 2) renders["perlin_noise_type=2"] = scene_composer.get_render() PBRShader.update_default_parameter("perlin_noise_type", 3) renders["perlin_noise_type=3"] = scene_composer.get_render() PBRShader.update_default_parameter("perlin_noise_frequency", 5) renders["perlin_noise_frequency=5"] = scene_composer.get_render() PBRShader.update_default_parameter("perlin_noise_frequency", 10) renders["perlin_noise_frequency=10"] = scene_composer.get_render() PBRShader.update_default_parameter("perlin_noise_frequency", 20) renders["perlin_noise_frequency=20"] = scene_composer.get_render() scene_composer.visualize_grid_desc(renders, shape=(1000, 1500), n_cols=3)
pbr-shader-parameters_5_resourcesTutorial
2025-02-04 10:51:15,599 | skyrenderer.utils.time_measurement | INFO: Setup time: 56 ms 2025-02-04 10:51:18,420 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.82 seconds 2025-02-04 10:51:31,646 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:51:31,647 | skyrenderer.utils.time_measurement | INFO: Render time: 13.23 seconds 2025-02-04 10:51:31,713 | skyrenderer.utils.time_measurement | INFO: Setup time: 53 ms 2025-02-04 10:51:34,518 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.80 seconds 2025-02-04 10:52:09,159 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:52:09,160 | skyrenderer.utils.time_measurement | INFO: Render time: 34.64 seconds 2025-02-04 10:52:09,232 | skyrenderer.utils.time_measurement | INFO: Setup time: 54 ms 2025-02-04 10:52:12,163 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.93 seconds 2025-02-04 10:52:46,471 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:52:46,472 | skyrenderer.utils.time_measurement | INFO: Render time: 34.31 seconds 2025-02-04 10:52:46,543 | skyrenderer.utils.time_measurement | INFO: Setup time: 53 ms 2025-02-04 10:52:49,375 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.83 seconds 2025-02-04 10:53:24,859 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:53:24,860 | skyrenderer.utils.time_measurement | INFO: Render time: 35.48 seconds 2025-02-04 10:53:24,926 | skyrenderer.utils.time_measurement | INFO: Setup time: 53 ms 2025-02-04 10:53:27,885 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.96 seconds 2025-02-04 10:54:02,339 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:54:02,340 | skyrenderer.utils.time_measurement | INFO: Render time: 34.45 seconds 2025-02-04 10:54:02,406 | skyrenderer.utils.time_measurement | INFO: Setup time: 53 ms 2025-02-04 10:54:05,198 | skyrenderer.utils.time_measurement | INFO: Context update time: 2.79 seconds 2025-02-04 10:54:39,880 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:54:39,881 | skyrenderer.utils.time_measurement | INFO: Render time: 34.68 seconds

PBRShader - control parameters

These parameters are used to control PBRShader interaction with other parts of SkyRenderer's system. Among many,
there are a few worth mentioning (often used in SkyRenderer's use cases):

  • tex_scale - scale of a texture
  • use_reflections - disabling that parameter will stop ray generation after first hit
from skyrenderer.basic_types.provider import FileTextureProvider from skyrenderer.basic_types.item_component import Background from skyrenderer.basic_types.procedure import EnvMapMiss from skyrenderer.basic_types.provider import HdrTextureProvider scene_composer.renderer_context.instancers["shaderball_GEO"].modify_material_definition( texture_provider=FileTextureProvider(scene_composer.renderer_context, "metal_red") ) scene_composer.renderer_context.define_env( Background( scene_composer.renderer_context, EnvMapMiss(scene_composer.renderer_context, "env_miss"), HdrTextureProvider(scene_composer.renderer_context, "sunny_beach"), ) ) renders = {} PBRShader.update_default_parameter("tex_scale", (0.5, 0.5)) renders["tex_scale=0.5"] = scene_composer.get_render() PBRShader.update_default_parameter("tex_scale", (3, 3)) renders["tex_scale=3"] = scene_composer.get_render() PBRShader.update_default_parameter("tex_scale", (1, 1)) PBRShader.update_default_parameter("use_reflections", True) renders["use_reflections=True"] = scene_composer.get_render() PBRShader.update_default_parameter("use_reflections", False) renders["use_reflections=False"] = scene_composer.get_render() scene_composer.visualize_grid_desc(renders, shape=(1000, 1000), n_cols=2)
pbr-shader-parameters_6_resourcesTutorial
2025-02-04 10:54:40,382 | skyrenderer.basic_types.provider.unit_providers.hdr_texture_provider | WARNING: Parameter light_adapt provided in HDR json is not supported 2025-02-04 10:54:40,382 | skyrenderer.basic_types.provider.unit_providers.hdr_texture_provider | WARNING: Parameter color_adapt provided in HDR json is not supported 2025-02-04 10:54:40,383 | skyrenderer.scene.renderer_context | WARNING: Setting background definition after setup. 2025-02-04 10:54:40,383 | skyrenderer.scene.renderer_context | WARNING: Setting light after setup. Origin refers to last scene tree set up. Lights are stored in dict - change is visible immediately; Wrong parameter provider possible 2025-02-04 10:54:40,440 | skyrenderer.utils.time_measurement | INFO: Setup time: 56 ms 2025-02-04 10:54:40,442 | skyrenderer.basic_types.provider.unit_providers.hdr_texture_provider | INFO: Background HDR (/dli/mount/assets/renderer/background_hdrs/sunny_beach/spiaggia_di_mondello_8k.hdr) is being processed, this may take a while... 2025-02-04 10:54:50,298 | skyrenderer.utils.time_measurement | INFO: Context update time: 9.86 seconds 2025-02-04 10:55:24,357 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:55:24,358 | skyrenderer.utils.time_measurement | INFO: Render time: 34.06 seconds 2025-02-04 10:55:24,444 | skyrenderer.utils.time_measurement | INFO: Setup time: 74 ms 2025-02-04 10:55:29,362 | skyrenderer.utils.time_measurement | INFO: Context update time: 4.92 seconds 2025-02-04 10:56:03,215 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:56:03,216 | skyrenderer.utils.time_measurement | INFO: Render time: 33.85 seconds 2025-02-04 10:56:03,345 | skyrenderer.utils.time_measurement | INFO: Setup time: 108 ms 2025-02-04 10:56:08,436 | skyrenderer.utils.time_measurement | INFO: Context update time: 5.09 seconds 2025-02-04 10:56:42,764 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:56:42,765 | skyrenderer.utils.time_measurement | INFO: Render time: 34.33 seconds 2025-02-04 10:56:42,886 | skyrenderer.utils.time_measurement | INFO: Setup time: 108 ms 2025-02-04 10:56:47,913 | skyrenderer.utils.time_measurement | INFO: Context update time: 5.03 seconds 2025-02-04 10:56:54,956 | skyrenderer.utils.time_measurement | INFO: Key points calculation time: 0 ms 2025-02-04 10:56:54,956 | skyrenderer.utils.time_measurement | INFO: Render time: 7.04 seconds

Summary

In this section you have learnt:

  • PBRShader has many parameters that affect shader appearance.