Brushstroke Tools: Initial Version #328
@ -625,6 +625,7 @@ class BSBST_OT_make_preset(bpy.types.Operator):
|
||||
elif type(v) == bpy.types.NodeTreeInterfaceSocketMaterial:
|
||||
pass # TODO: figure out material preset linking
|
||||
return {"FINISHED"}
|
||||
|
||||
class BSBST_OT_preset_add_mod(bpy.types.Operator):
|
||||
"""
|
||||
Add a modifier to the preset stack.
|
||||
@ -732,6 +733,51 @@ class BSBST_OT_brushstrokes_toggle_attribute(bpy.types.Operator):
|
||||
bpy.ops.object.geometry_nodes_input_attribute_toggle(input_name=self.input_name,
|
||||
modifier_name=self.modifier_name)
|
||||
return {"FINISHED"}
|
||||
|
||||
class BSBST_OT_render_setup(bpy.types.Operator):
|
||||
"""
|
||||
Set up render settings.
|
||||
"""
|
||||
bl_idname = "brushstroke_tools.render_setup"
|
||||
bl_label = "Render Setup"
|
||||
bl_description = "Set up render settings"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
render_engine: bpy.props.EnumProperty(name='Render Engine',
|
||||
items = [
|
||||
('ALL', 'All', 'Set up for all available render engines', '', 0),
|
||||
('CYCLES', 'Cycles', 'Set up for Cycles', '', 1),
|
||||
('EEVEE', 'Eevee', 'Set up for Eevee', '', 2),
|
||||
]
|
||||
)
|
||||
trans_pass_toggle: bpy.props.BoolProperty(default=True)
|
||||
trans_pass: bpy.props.IntProperty(default=256)
|
||||
|
||||
prop_map = {
|
||||
'CYCLES':['trans_pass',
|
||||
],
|
||||
'EEVEE':[
|
||||
]
|
||||
}
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
if self.render_engine == 'ALL':
|
||||
props = [*v for k, v in self.prop_map]
|
||||
else:
|
||||
props = self.prop_map[self.render_engine]
|
||||
print(props)
|
||||
layout.prop(self, 'render_engine')
|
||||
|
||||
def execute(self, context):
|
||||
settings = context.scene.BSBST_settings
|
||||
if self.render_engine in ['CYCLES', 'ALL']:
|
||||
if self.trans_pass_toggle:
|
||||
context.scene.cycles.transparent_max_bounces = self.trans_pass
|
||||
return {"FINISHED"}
|
||||
|
||||
def invoke(self, context, event):
|
||||
return context.window_manager.invoke_props_dialog(self)
|
||||
|
||||
classes = [
|
||||
BSBST_OT_new_brushstrokes,
|
||||
@ -746,6 +792,7 @@ classes = [
|
||||
BSBST_OT_preset_remove_mod,
|
||||
BSBST_OT_preset_toggle_attribute,
|
||||
BSBST_OT_brushstrokes_toggle_attribute,
|
||||
BSBST_OT_render_setup,
|
||||
]
|
||||
|
||||
def register():
|
||||
|
@ -251,6 +251,7 @@ class BSBST_PT_brushstroke_tools_panel(bpy.types.Panel):
|
||||
new_advanced_panel.prop(settings, 'reuse_flow')
|
||||
new_advanced_panel.prop(settings, 'estimate_dimensions')
|
||||
new_advanced_panel.prop(settings, 'style_context')
|
||||
new_advanced_panel.operator('brushstroke_tools.render_setup')
|
||||
|
||||
# identify style context
|
||||
style_object = context.object if settings.style_context=='BRUSHSTROKES' else settings.preset_object
|
||||
|
Loading…
Reference in New Issue
Block a user