Skip to content

Commit

Permalink
fix(renderer): Disables light tree to keep rendering speed
Browse files Browse the repository at this point in the history
  • Loading branch information
cornerfarmer committed Oct 17, 2023
1 parent f8e3a3e commit d3cd273
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion blenderproc/api/renderer/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
set_cpu_threads, toggle_stereo, set_simplify_subdivision_render, set_noise_threshold, \
set_max_amount_of_samples, enable_distance_output, enable_depth_output, enable_normals_output, \
enable_diffuse_color_output, map_file_format_to_file_ending, render, set_output_format, enable_motion_blur, \
enable_segmentation_output, set_world_background, set_render_devices, enable_experimental_features
enable_segmentation_output, set_world_background, set_render_devices, enable_experimental_features, toggle_light_tree
from blenderproc.python.renderer.SegMapRendererUtility import render_segmap
from blenderproc.python.renderer.FlowRendererUtility import render_optical_flow
from blenderproc.python.renderer.NOCSRendererUtility import render_nocs
10 changes: 10 additions & 0 deletions blenderproc/python/renderer/RendererUtility.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,16 @@ def toggle_stereo(enable: bool):
if enable:
bpy.context.scene.render.views_format = "STEREO_3D"

def toggle_light_tree(enable: bool):
""" Enables/Disables blender's light tree for rendering.
Enabling the light tree reduces the noise in scenes with many point lights,
however it increases the render time per sample.
See https://wiki.blender.org/wiki/Reference/Release_Notes/3.5/Cycles
:param enable: True, if light tree should be enabled.
"""
bpy.context.scene.cycles.use_light_tree = enable

def set_simplify_subdivision_render(simplify_subdivision_render: int):
""" Sets global maximum subdivision level during rendering to speedup rendering.
Expand Down
2 changes: 2 additions & 0 deletions blenderproc/python/utility/Initializer.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,8 @@ def set_default_parameters():
# cpu thread means GPU-only rendering)
RendererUtility.set_cpu_threads(0)
RendererUtility.set_denoiser(DefaultConfig.denoiser)
# For now disable the light tree per default, as it seems to increase render time for most of our tests
RendererUtility.toggle_light_tree(False)

RendererUtility.set_simplify_subdivision_render(DefaultConfig.simplify_subdivision_render)

Expand Down

0 comments on commit d3cd273

Please sign in to comment.