EEVEE-Next: UI: Render Panel
- Reorder panels to match Cycles (and rendering pipeline order) `Sampling > Objects > Motion Blur / Dof > Film > Performance` - General reordering of properties to avoid too many panels. - Make sure panels a disabled if their checkbox is. - Enabled Freestyle panel for EEVEE-Next. - Merge some panels into sub-panels. - Add `Clamping` panel. - Split Lighprobe panel into `Performance` and `Scene`. - Move shadow panel to Sampling. - Generally improve consistency with Cycles. Pull Request: https://projects.blender.org/blender/blender/pulls/120691
This commit is contained in:
committed by
Clément Foucault
parent
ed9dea08b2
commit
2c19be2682
@@ -24,7 +24,7 @@ class RENDER_PT_freestyle(RenderFreestyleButtonsPanel, Panel):
|
||||
bl_label = "Freestyle"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
bl_order = 10
|
||||
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
|
||||
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'}
|
||||
|
||||
def draw_header(self, context):
|
||||
rd = context.scene.render
|
||||
|
||||
@@ -179,28 +179,6 @@ class RENDER_PT_eevee_ambient_occlusion(RenderButtonsPanel, Panel):
|
||||
col.prop(props, "use_gtao_bounce")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_horizon_scan(RenderButtonsPanel, Panel):
|
||||
bl_label = "Horizon Scan"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
col = layout.column()
|
||||
col.prop(props, "horizon_quality", text="Precision")
|
||||
col.prop(props, "horizon_thickness", text="Thickness")
|
||||
col.prop(props, "horizon_bias", text="Bias")
|
||||
col.prop(props, "horizon_resolution", text="Resolution")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_motion_blur(RenderButtonsPanel, Panel):
|
||||
bl_label = "Motion Blur"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
@@ -332,6 +310,7 @@ class RENDER_PT_eevee_next_depth_of_field(RenderButtonsPanel, Panel):
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
@@ -339,11 +318,14 @@ class RENDER_PT_eevee_next_depth_of_field(RenderButtonsPanel, Panel):
|
||||
col.prop(props, "bokeh_max_size")
|
||||
col.prop(props, "bokeh_threshold")
|
||||
col.prop(props, "bokeh_neighbor_max")
|
||||
col.prop(props, "use_bokeh_jittered")
|
||||
|
||||
col = layout.column()
|
||||
col.active = props.use_bokeh_jittered
|
||||
col.prop(props, "bokeh_overblur")
|
||||
col = layout.column(align=False, heading="Jitter Camera")
|
||||
row = col.row(align=True)
|
||||
sub = row.row(align=True)
|
||||
sub.prop(props, "use_bokeh_jittered", text="")
|
||||
sub = sub.row(align=True)
|
||||
sub.active = props.use_bokeh_jittered
|
||||
sub.prop(props, "bokeh_overblur")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_bloom(RenderButtonsPanel, Panel):
|
||||
@@ -457,6 +439,34 @@ class RENDER_PT_eevee_next_volumes(RenderButtonsPanel, Panel):
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
col = layout.column(align=True)
|
||||
col.prop(props, "volumetric_tile_size", text="Resolution")
|
||||
col.prop(props, "volumetric_samples", text="Steps")
|
||||
col.prop(props, "volumetric_sample_distribution", text="Distribution")
|
||||
|
||||
col = layout.column()
|
||||
col.prop(props, "volumetric_ray_depth", text="Max Depth")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_volumes_range(RenderButtonsPanel, Panel):
|
||||
bl_label = "Custom Range"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
bl_parent_id = "RENDER_PT_eevee_next_volumes"
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
@@ -465,48 +475,6 @@ class RENDER_PT_eevee_next_volumes(RenderButtonsPanel, Panel):
|
||||
col.prop(props, "volumetric_start")
|
||||
col.prop(props, "volumetric_end")
|
||||
|
||||
col = layout.column()
|
||||
col.prop(props, "volumetric_tile_size")
|
||||
col.prop(props, "volumetric_samples")
|
||||
col.prop(props, "volumetric_sample_distribution", text="Distribution")
|
||||
col.prop(props, "volumetric_ray_depth", text="Max Depth")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_volumes_lighting(RenderButtonsPanel, Panel):
|
||||
bl_label = "Volume Lighting"
|
||||
bl_parent_id = "RENDER_PT_eevee_next_volumes"
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
layout.prop(props, "volumetric_light_clamp", text="Light Clamping")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_volumes_shadows(RenderButtonsPanel, Panel):
|
||||
bl_label = "Volume Shadows"
|
||||
bl_parent_id = "RENDER_PT_eevee_next_volumes"
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
def draw_header(self, context):
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
self.layout.prop(props, "use_volumetric_shadows", text="")
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
layout.active = props.use_volumetric_shadows
|
||||
layout.prop(props, "volumetric_shadow_samples", text="Samples")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_subsurface_scattering(RenderButtonsPanel, Panel):
|
||||
bl_label = "Subsurface Scattering"
|
||||
@@ -585,18 +553,23 @@ class RENDER_PT_eevee_next_raytracing(RenderButtonsPanel, Panel):
|
||||
RENDER_PT_eevee_next_raytracing_presets.draw_panel_header(self.layout)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
layout.prop(props, "ray_tracing_method", text="Method")
|
||||
layout = self.layout
|
||||
layout.active = props.use_raytracing
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
col = layout.column()
|
||||
col.prop(props, "ray_tracing_method", text="Method")
|
||||
|
||||
options = context.scene.eevee.ray_tracing_options
|
||||
|
||||
layout.prop(options, "resolution_scale")
|
||||
layout.prop(options, "sample_clamp")
|
||||
col.prop(options, "resolution_scale")
|
||||
col.prop(options, "screen_trace_max_roughness", text="Max Roughness")
|
||||
# TODO Move it to raytracing options
|
||||
col.prop(props, "horizon_bias", text="Bias")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_screen_trace(RenderButtonsPanel, Panel):
|
||||
@@ -611,13 +584,44 @@ class RENDER_PT_eevee_next_screen_trace(RenderButtonsPanel, Panel):
|
||||
return (context.engine in cls.COMPAT_ENGINES) and use_screen_trace
|
||||
|
||||
def draw(self, context):
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
layout = self.layout
|
||||
layout.active = props.use_raytracing
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
props = context.scene.eevee.ray_tracing_options
|
||||
|
||||
layout.prop(props, "screen_trace_quality", text="Precision")
|
||||
layout.prop(props, "screen_trace_thickness", text="Thickness")
|
||||
layout.prop(props, "screen_trace_max_roughness", text="Max Roughness")
|
||||
col = layout.column()
|
||||
col.prop(props, "screen_trace_quality", text="Precision")
|
||||
col.prop(props, "screen_trace_thickness", text="Thickness")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_horizon_scan(RenderButtonsPanel, Panel):
|
||||
bl_label = "Horizon Scan"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
bl_parent_id = "RENDER_PT_eevee_next_raytracing"
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw(self, context):
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
layout = self.layout
|
||||
layout.active = props.use_raytracing
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
col = layout.column()
|
||||
col.prop(props, "horizon_quality", text="Precision")
|
||||
col.prop(props, "horizon_thickness", text="Thickness")
|
||||
col.prop(props, "horizon_resolution", text="Resolution")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_denoise(RenderButtonsPanel, Panel):
|
||||
@@ -631,12 +635,18 @@ class RENDER_PT_eevee_next_denoise(RenderButtonsPanel, Panel):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw_header(self, context):
|
||||
self.layout.active = context.scene.eevee.use_raytracing
|
||||
props = context.scene.eevee.ray_tracing_options
|
||||
self.layout.prop(props, "use_denoise", text="")
|
||||
|
||||
def draw(self, context):
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
layout = self.layout
|
||||
layout.active = props.use_raytracing
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
props = context.scene.eevee.ray_tracing_options
|
||||
|
||||
col = layout.column()
|
||||
@@ -676,11 +686,24 @@ class RENDER_PT_eevee_shadows(RenderButtonsPanel, Panel):
|
||||
col.prop(props, "light_threshold")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_lights(RenderButtonsPanel, Panel):
|
||||
bl_label = "Lights"
|
||||
class RENDER_PT_eevee_next_clamping(RenderButtonsPanel, Panel):
|
||||
bl_label = "Clamping"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw(self, context):
|
||||
pass
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_clamping_surface(RenderButtonsPanel, Panel):
|
||||
bl_label = "Surface"
|
||||
bl_parent_id = "RENDER_PT_eevee_next_clamping"
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
@@ -688,16 +711,40 @@ class RENDER_PT_eevee_next_lights(RenderButtonsPanel, Panel):
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
|
||||
layout.use_property_decorate = False
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
col = layout.column()
|
||||
col.prop(props, "light_threshold")
|
||||
# TODO(fclem): Add clamp properties
|
||||
options = props.ray_tracing_options
|
||||
layout.prop(options, "sample_clamp", text="Indirect Light")
|
||||
# layout.prop(props, "clamp_surface_direct", text="Direct Light")
|
||||
# layout.prop(props, "clamp_surface_indirect", text="Indirect Light")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_shadows(RenderButtonsPanel, Panel):
|
||||
class RENDER_PT_eevee_next_clamping_volume(RenderButtonsPanel, Panel):
|
||||
bl_label = "Volume"
|
||||
bl_parent_id = "RENDER_PT_eevee_next_clamping"
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
layout.prop(props, "volumetric_light_clamp", text="Direct Light")
|
||||
# layout.prop(props, "clamp_volumetric_direct", text="Direct Light")
|
||||
# layout.prop(props, "clamp_volumetric_indirect", text="Indirect Light")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_sampling_shadows(RenderButtonsPanel, Panel):
|
||||
bl_label = "Shadows"
|
||||
bl_parent_id = "RENDER_PT_eevee_next_sampling"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@@ -711,14 +758,13 @@ class RENDER_PT_eevee_next_shadows(RenderButtonsPanel, Panel):
|
||||
self.layout.prop(props, "use_shadows", text="")
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
col = layout.column()
|
||||
col.prop(props, "shadow_pool_size", text="Pool Size")
|
||||
layout = self.layout
|
||||
layout.active = props.use_shadows
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
col = layout.column(heading="Tracing", align=True)
|
||||
col.prop(props, "shadow_ray_count", text="Rays")
|
||||
@@ -727,8 +773,13 @@ class RENDER_PT_eevee_next_shadows(RenderButtonsPanel, Panel):
|
||||
col = layout.column()
|
||||
col.prop(props, "shadow_normal_bias", text="Normal Bias")
|
||||
|
||||
col = layout.column()
|
||||
col.prop(props, "use_shadow_jittered_viewport", text="Jittered Transparency (Viewport)")
|
||||
col = layout.column(align=False, heading="Volume Shadows")
|
||||
row = col.row(align=True)
|
||||
sub = row.row(align=True)
|
||||
sub.prop(props, "use_volumetric_shadows", text="")
|
||||
sub = sub.row(align=True)
|
||||
sub.active = props.use_volumetric_shadows
|
||||
sub.prop(props, "volumetric_shadow_samples", text="Steps")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_sampling(RenderButtonsPanel, Panel):
|
||||
@@ -779,7 +830,7 @@ class RENDER_PT_eevee_next_sampling_viewport(RenderButtonsPanel, Panel):
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False # No animation.
|
||||
layout.use_property_decorate = False
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
@@ -787,6 +838,7 @@ class RENDER_PT_eevee_next_sampling_viewport(RenderButtonsPanel, Panel):
|
||||
col = layout.column()
|
||||
col.prop(props, "taa_samples", text="Samples")
|
||||
col.prop(props, "use_taa_reprojection", text="Temporal Reprojection")
|
||||
col.prop(props, "use_shadow_jittered_viewport", text="Jittered Shadows")
|
||||
|
||||
# Add SSS sample count here.
|
||||
|
||||
@@ -803,7 +855,7 @@ class RENDER_PT_eevee_next_sampling_render(RenderButtonsPanel, Panel):
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False # No animation.
|
||||
layout.use_property_decorate = False
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
@@ -814,6 +866,28 @@ class RENDER_PT_eevee_next_sampling_render(RenderButtonsPanel, Panel):
|
||||
# Add SSS sample count here.
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_sampling_advanced(RenderButtonsPanel, Panel):
|
||||
bl_label = "Advanced"
|
||||
bl_parent_id = "RENDER_PT_eevee_next_sampling"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
col = layout.column()
|
||||
col.prop(props, "light_threshold")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_indirect_lighting(RenderButtonsPanel, Panel):
|
||||
bl_label = "Indirect Lighting"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
@@ -850,65 +924,6 @@ class RENDER_PT_eevee_indirect_lighting(RenderButtonsPanel, Panel):
|
||||
col.prop(props, "gi_filter_quality")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_light_probes(RenderButtonsPanel, Panel):
|
||||
bl_label = "Light Probes"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw(self, context):
|
||||
pass
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_light_probes_sphere(RenderButtonsPanel, Panel):
|
||||
bl_label = "Sphere"
|
||||
bl_parent_id = "RENDER_PT_eevee_next_light_probes"
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False # No animation.
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
col = layout.column()
|
||||
col.prop(props, "gi_cubemap_resolution", text="Resolution")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_next_light_probes_volume(RenderButtonsPanel, Panel):
|
||||
bl_label = "Volume"
|
||||
bl_parent_id = "RENDER_PT_eevee_next_light_probes"
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False # No animation.
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
col = layout.column()
|
||||
col.prop(props, "gi_irradiance_pool_size", text="Pool Size")
|
||||
|
||||
row = col.row(align=True)
|
||||
row.operator("object.lightprobe_cache_bake", text="Bake Volumes").subset = 'ALL'
|
||||
row.operator("object.lightprobe_cache_free", text="", icon='TRASH').subset = 'ALL'
|
||||
|
||||
|
||||
class RENDER_PT_eevee_indirect_lighting_display(RenderButtonsPanel, Panel):
|
||||
bl_label = "Display"
|
||||
bl_parent_id = "RENDER_PT_eevee_indirect_lighting"
|
||||
@@ -1040,6 +1055,28 @@ class RENDER_PT_eevee_performance(RenderButtonsPanel, Panel):
|
||||
layout.prop(rd, "use_high_quality_normals")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_performance_memory(RenderButtonsPanel, Panel):
|
||||
bl_label = "Memory"
|
||||
bl_parent_id = "RENDER_PT_eevee_performance"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
layout.prop(props, "shadow_pool_size", text="Shadow Pool")
|
||||
layout.prop(props, "gi_irradiance_pool_size", text="Light Probes Volume Pool")
|
||||
|
||||
|
||||
class RENDER_PT_eevee_performance_viewport(RenderButtonsPanel, Panel):
|
||||
bl_label = "Viewport"
|
||||
bl_parent_id = "RENDER_PT_eevee_performance"
|
||||
@@ -1281,39 +1318,43 @@ classes = (
|
||||
RENDER_PT_eevee_next_sampling,
|
||||
RENDER_PT_eevee_next_sampling_viewport,
|
||||
RENDER_PT_eevee_next_sampling_render,
|
||||
RENDER_PT_eevee_next_sampling_shadows,
|
||||
RENDER_PT_eevee_next_sampling_advanced,
|
||||
RENDER_PT_eevee_next_clamping,
|
||||
RENDER_PT_eevee_next_clamping_surface,
|
||||
RENDER_PT_eevee_next_clamping_volume,
|
||||
RENDER_PT_eevee_ambient_occlusion,
|
||||
RENDER_PT_eevee_bloom,
|
||||
RENDER_PT_eevee_depth_of_field,
|
||||
RENDER_PT_eevee_next_depth_of_field,
|
||||
RENDER_PT_eevee_subsurface_scattering,
|
||||
RENDER_PT_eevee_screen_space_reflections,
|
||||
RENDER_PT_eevee_next_horizon_scan,
|
||||
RENDER_PT_eevee_next_raytracing_presets,
|
||||
RENDER_PT_eevee_next_raytracing,
|
||||
RENDER_PT_eevee_next_screen_trace,
|
||||
RENDER_PT_eevee_next_horizon_scan,
|
||||
RENDER_PT_eevee_next_denoise,
|
||||
RENDER_PT_simplify,
|
||||
RENDER_PT_simplify_viewport,
|
||||
RENDER_PT_simplify_render,
|
||||
RENDER_PT_simplify_greasepencil,
|
||||
RENDER_PT_eevee_motion_blur,
|
||||
RENDER_PT_eevee_volumetric,
|
||||
RENDER_PT_eevee_volumetric_lighting,
|
||||
RENDER_PT_eevee_volumetric_shadows,
|
||||
RENDER_PT_eevee_next_volumes,
|
||||
RENDER_PT_eevee_next_volumes_lighting,
|
||||
RENDER_PT_eevee_next_volumes_shadows,
|
||||
RENDER_PT_eevee_performance,
|
||||
RENDER_PT_eevee_performance_viewport,
|
||||
RENDER_PT_eevee_next_volumes_range,
|
||||
RENDER_PT_eevee_hair,
|
||||
RENDER_PT_eevee_shadows,
|
||||
RENDER_PT_eevee_next_lights,
|
||||
RENDER_PT_eevee_next_shadows,
|
||||
RENDER_PT_eevee_indirect_lighting,
|
||||
RENDER_PT_eevee_indirect_lighting_display,
|
||||
RENDER_PT_eevee_next_light_probes,
|
||||
RENDER_PT_eevee_next_light_probes_sphere,
|
||||
RENDER_PT_eevee_next_light_probes_volume,
|
||||
RENDER_PT_eevee_film,
|
||||
RENDER_PT_eevee_depth_of_field,
|
||||
RENDER_PT_eevee_next_depth_of_field,
|
||||
RENDER_PT_eevee_next_motion_blur,
|
||||
RENDER_PT_eevee_next_motion_blur_curve,
|
||||
RENDER_PT_eevee_film,
|
||||
RENDER_PT_eevee_next_film,
|
||||
RENDER_PT_eevee_performance,
|
||||
RENDER_PT_eevee_performance_memory,
|
||||
RENDER_PT_eevee_performance_viewport,
|
||||
|
||||
|
||||
RENDER_PT_gpencil,
|
||||
@@ -1326,10 +1367,6 @@ classes = (
|
||||
RENDER_PT_color_management,
|
||||
RENDER_PT_color_management_display_settings,
|
||||
RENDER_PT_color_management_curves,
|
||||
RENDER_PT_simplify,
|
||||
RENDER_PT_simplify_viewport,
|
||||
RENDER_PT_simplify_render,
|
||||
RENDER_PT_simplify_greasepencil,
|
||||
)
|
||||
|
||||
if __name__ == "__main__": # only for live edit.
|
||||
|
||||
@@ -413,6 +413,33 @@ class SCENE_PT_rigid_body_field_weights(RigidBodySubPanel, Panel):
|
||||
effector_weights_ui(self, rbw.effector_weights, 'RIGID_BODY')
|
||||
|
||||
|
||||
class SCENE_PT_eevee_next_light_probes(SceneButtonsPanel, Panel):
|
||||
bl_label = "Light Probes"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False # No animation.
|
||||
|
||||
scene = context.scene
|
||||
props = scene.eevee
|
||||
|
||||
col = layout.column()
|
||||
|
||||
# TODO(fclem): Move to probe
|
||||
col.prop(props, "gi_cubemap_resolution", text="Spheres Resolution")
|
||||
|
||||
row = col.row(align=True)
|
||||
row.operator("object.lightprobe_cache_bake", text="Bake All Light Probe Volumes").subset = 'ALL'
|
||||
row.operator("object.lightprobe_cache_free", text="", icon='TRASH').subset = 'ALL'
|
||||
|
||||
|
||||
class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, Panel):
|
||||
_context_path = "scene"
|
||||
_property_type = bpy.types.Scene
|
||||
@@ -432,6 +459,7 @@ classes = (
|
||||
SCENE_PT_rigid_body_world_settings,
|
||||
SCENE_PT_rigid_body_cache,
|
||||
SCENE_PT_rigid_body_field_weights,
|
||||
SCENE_PT_eevee_next_light_probes,
|
||||
SCENE_PT_custom_props,
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user