forked from blender/blender-addons
Refactoring of Storm Hydra render addon #13
@ -29,23 +29,23 @@ class RenderSettings(bpy.types.PropertyGroup):
|
||||
default=False,
|
||||
)
|
||||
volume_raymarching_step_size: bpy.props.FloatProperty(
|
||||
name="Volume Raymarching Step Size",
|
||||
name="Step Size",
|
||||
description="Step size when raymarching volume",
|
||||
default=1.0,
|
||||
)
|
||||
volume_raymarching_step_size_lighting: bpy.props.FloatProperty(
|
||||
name="Volume Raymarching Step Size Lighting",
|
||||
name="Step Size Lighting",
|
||||
description="Step size when raymarching volume for lighting computation",
|
||||
default=10.0,
|
||||
)
|
||||
volume_max_texture_memory_per_field: bpy.props.FloatProperty(
|
||||
name="Volume Max Texture Memory Per Field",
|
||||
name="Max Texture Memory Per Field",
|
||||
description="Maximum memory for a volume field texture in Mb (unless overridden by field prim)",
|
||||
default=128.0,
|
||||
)
|
||||
max_lights: bpy.props.IntProperty(
|
||||
name="Max Lights",
|
||||
description="Maximum number of lights",
|
||||
description="Limit maximum number of lights",
|
||||
default=16, min=0, max=16,
|
||||
)
|
||||
|
||||
|
@ -19,6 +19,9 @@ class Panel(bpy.types.Panel):
|
||||
return context.engine in cls.COMPAT_ENGINES
|
||||
|
||||
|
||||
#
|
||||
# FINAL RENDER SETTINGS
|
||||
#
|
||||
class STORM_HYDRA_RENDER_PT_final(Panel):
|
||||
"""Final render delegate and settings"""
|
||||
bl_idname = 'STORM_HYDRA_RENDER_PT_final'
|
||||
@ -34,6 +37,35 @@ class STORM_HYDRA_RENDER_PT_final(Panel):
|
||||
layout.prop(settings, 'max_lights')
|
||||
|
||||
|
||||
class FinalPanel(bpy.types.Panel):
|
||||
bl_parent_id = STORM_HYDRA_RENDER_PT_final.bl_idname
|
||||
bl_space_type = 'PROPERTIES'
|
||||
bl_region_type = 'WINDOW'
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
|
||||
def settings(self, context):
|
||||
return context.scene.hydra_storm.final
|
||||
|
||||
|
||||
class STORM_HYDRA_RENDER_PT_volume_final(FinalPanel):
|
||||
bl_label = "Volume Raymarching"
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
settings = self.settings(context)
|
||||
|
||||
col = layout.column(align=True)
|
||||
col.prop(settings, "volume_raymarching_step_size")
|
||||
col.prop(settings, "volume_raymarching_step_size_lighting")
|
||||
col.prop(settings, "volume_max_texture_memory_per_field")
|
||||
|
||||
|
||||
#
|
||||
# VIEWPORT RENDER SETTINGS
|
||||
#
|
||||
class STORM_HYDRA_RENDER_PT_viewport(Panel):
|
||||
"""Viewport render delegate and settings"""
|
||||
bl_idname = 'STORM_HYDRA_RENDER_PT_viewport'
|
||||
@ -49,6 +81,32 @@ class STORM_HYDRA_RENDER_PT_viewport(Panel):
|
||||
layout.prop(settings, 'max_lights')
|
||||
|
||||
|
||||
class ViewportPanel(bpy.types.Panel):
|
||||
bl_parent_id = STORM_HYDRA_RENDER_PT_viewport.bl_idname
|
||||
bl_space_type = 'PROPERTIES'
|
||||
bl_region_type = 'WINDOW'
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
|
||||
def settings(self, context):
|
||||
return context.scene.hydra_storm.viewport
|
||||
|
||||
|
||||
class STORM_HYDRA_RENDER_PT_volume_viewport(ViewportPanel):
|
||||
bl_label = "Volume Raymarching"
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
settings = self.settings(context)
|
||||
|
||||
col = layout.column(align=True)
|
||||
col.prop(settings, "volume_raymarching_step_size")
|
||||
col.prop(settings, "volume_raymarching_step_size_lighting")
|
||||
col.prop(settings, "volume_max_texture_memory_per_field")
|
||||
|
||||
|
||||
class STORM_HYDRA_LIGHT_PT_light(Panel):
|
||||
"""
|
||||
Physical light sources
|
||||
@ -106,7 +164,9 @@ class STORM_HYDRA_LIGHT_PT_light(Panel):
|
||||
|
||||
register_classes, unregister_classes = bpy.utils.register_classes_factory((
|
||||
STORM_HYDRA_RENDER_PT_final,
|
||||
STORM_HYDRA_RENDER_PT_volume_final,
|
||||
STORM_HYDRA_RENDER_PT_viewport,
|
||||
STORM_HYDRA_RENDER_PT_volume_viewport,
|
||||
|
||||
STORM_HYDRA_LIGHT_PT_light,
|
||||
))
|
||||
|
Loading…
Reference in New Issue
Block a user