Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/cycles/blender/addon/ui.py')
-rw-r--r--intern/cycles/blender/addon/ui.py733
1 files changed, 371 insertions, 362 deletions
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index ca839691111..a1363ece854 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -22,494 +22,503 @@ from cycles import enums
from cycles import engine
class CyclesButtonsPanel():
- bl_space_type = "PROPERTIES"
- bl_region_type = "WINDOW"
- bl_context = "render"
-
- @classmethod
- def poll(cls, context):
- rd = context.scene.render
- return rd.engine == 'CYCLES'
+ bl_space_type = "PROPERTIES"
+ bl_region_type = "WINDOW"
+ bl_context = "render"
+
+ @classmethod
+ def poll(cls, context):
+ rd = context.scene.render
+ return rd.engine == 'CYCLES'
class CyclesRender_PT_integrator(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Integrator"
+ bl_label = "Integrator"
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- scene = context.scene
- cycles = scene.cycles
+ scene = context.scene
+ cscene = scene.cycles
- split = layout.split()
+ split = layout.split()
- col = split.column()
- col.prop(cycles, "passes")
- col.prop(cycles, "no_caustics")
+ col = split.column()
+ col.prop(cscene, "passes", text="Render Passes")
+ #sub = col.row()
+ #sub.active = cscene.preview_passes >= 1
+ #sub.prop(cscene, "preview_passes")
+ col.prop(cscene, "no_caustics")
- col = split.column()
- col = col.column(align=True)
- col.prop(cycles, "max_bounces")
- col.prop(cycles, "min_bounces")
+ col = split.column()
+ col = col.column(align=True)
+ col.prop(cscene, "max_bounces")
+ col.prop(cscene, "min_bounces")
- #row = col.row()
- #row.prop(cycles, "blur_caustics")
- #row.active = not cycles.no_caustics
-
+ #row = col.row()
+ #row.prop(cscene, "blur_caustics")
+ #row.active = not cscene.no_caustics
+
class CyclesRender_PT_film(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Film"
+ bl_label = "Film"
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- scene = context.scene
- cycles = scene.cycles
+ scene = context.scene
+ cscene = scene.cycles
- split = layout.split()
+ split = layout.split()
- split.prop(cycles, "exposure")
- split.prop(cycles, "response_curve", text="")
+ col = split.column();
+ col.prop(cscene, "exposure")
+ col.prop(cscene, "transparent")
+
+ col = split.column()
+ col.prop(cscene, "filter_type", text="")
+ if cscene.filter_type != 'BOX':
+ col.prop(cscene, "filter_width", text="Width")
class CyclesRender_PT_performance(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Performance"
- bl_options = {'DEFAULT_CLOSED'}
+ bl_label = "Performance"
+ bl_options = {'DEFAULT_CLOSED'}
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- scene = context.scene
- rd = scene.render
- cycles = scene.cycles
+ scene = context.scene
+ rd = scene.render
+ cscene = scene.cycles
- split = layout.split()
+ split = layout.split()
- col = split.column(align=True)
+ col = split.column(align=True)
- col.label(text="Threads:")
- col.row().prop(rd, "threads_mode", expand=True)
- sub = col.column()
- sub.enabled = rd.threads_mode == 'FIXED'
- sub.prop(rd, "threads")
+ col.label(text="Threads:")
+ col.row().prop(rd, "threads_mode", expand=True)
+ sub = col.column()
+ sub.enabled = rd.threads_mode == 'FIXED'
+ sub.prop(rd, "threads")
- sub = col.column(align=True)
- sub.label(text="Tiles:")
- sub.prop(cycles, "debug_tile_size")
- sub.prop(cycles, "debug_min_size")
+ sub = col.column(align=True)
+ sub.label(text="Tiles:")
+ sub.prop(cscene, "debug_tile_size")
+ sub.prop(cscene, "debug_min_size")
- col = split.column()
+ col = split.column()
- sub = col.column(align=True)
- sub.label(text="Acceleration structure:")
- sub.prop(cycles, "debug_bvh_type", text="")
- sub.prop(cycles, "debug_use_spatial_splits")
+ sub = col.column(align=True)
+ sub.label(text="Acceleration structure:")
+ sub.prop(cscene, "debug_bvh_type", text="")
+ sub.prop(cscene, "debug_use_spatial_splits")
class Cycles_PT_post_processing(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Post Processing"
- bl_options = {'DEFAULT_CLOSED'}
+ bl_label = "Post Processing"
+ bl_options = {'DEFAULT_CLOSED'}
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- rd = context.scene.render
+ rd = context.scene.render
- split = layout.split()
+ split = layout.split()
- col = split.column()
- col.prop(rd, "use_compositing")
- col.prop(rd, "use_sequencer")
+ col = split.column()
+ col.prop(rd, "use_compositing")
+ col.prop(rd, "use_sequencer")
- col = split.column()
- col.prop(rd, "dither_intensity", text="Dither", slider=True)
+ col = split.column()
+ col.prop(rd, "dither_intensity", text="Dither", slider=True)
class Cycles_PT_camera(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Cycles"
- bl_context = "data"
+ bl_label = "Cycles"
+ bl_context = "data"
- @classmethod
- def poll(cls, context):
- return context.camera
+ @classmethod
+ def poll(cls, context):
+ return context.camera
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- camera = context.camera
- cycles = camera.cycles
+ camera = context.camera
+ ccamera = camera.cycles
- layout.prop(cycles, "lens_radius")
+ layout.prop(ccamera, "lens_radius")
class Cycles_PT_context_material(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Surface"
- bl_context = "material"
- bl_options = {'HIDE_HEADER'}
+ bl_label = "Surface"
+ bl_context = "material"
+ bl_options = {'HIDE_HEADER'}
- @classmethod
- def poll(cls, context):
- return (context.material or context.object) and CyclesButtonsPanel.poll(context)
+ @classmethod
+ def poll(cls, context):
+ return (context.material or context.object) and CyclesButtonsPanel.poll(context)
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- mat = context.material
- ob = context.object
- slot = context.material_slot
- space = context.space_data
+ mat = context.material
+ ob = context.object
+ slot = context.material_slot
+ space = context.space_data
- if ob:
- row = layout.row()
+ if ob:
+ row = layout.row()
- row.template_list(ob, "material_slots", ob, "active_material_index", rows=2)
+ row.template_list(ob, "material_slots", ob, "active_material_index", rows=2)
- col = row.column(align=True)
- col.operator("object.material_slot_add", icon='ZOOMIN', text="")
- col.operator("object.material_slot_remove", icon='ZOOMOUT', text="")
+ col = row.column(align=True)
+ col.operator("object.material_slot_add", icon='ZOOMIN', text="")
+ col.operator("object.material_slot_remove", icon='ZOOMOUT', text="")
- col.menu("MATERIAL_MT_specials", icon='DOWNARROW_HLT', text="")
+ col.menu("MATERIAL_MT_specials", icon='DOWNARROW_HLT', text="")
- if ob.mode == 'EDIT':
- row = layout.row(align=True)
- row.operator("object.material_slot_assign", text="Assign")
- row.operator("object.material_slot_select", text="Select")
- row.operator("object.material_slot_deselect", text="Deselect")
+ if ob.mode == 'EDIT':
+ row = layout.row(align=True)
+ row.operator("object.material_slot_assign", text="Assign")
+ row.operator("object.material_slot_select", text="Select")
+ row.operator("object.material_slot_deselect", text="Deselect")
- split = layout.split(percentage=0.65)
+ split = layout.split(percentage=0.65)
- if ob:
- split.template_ID(ob, "active_material", new="material.new")
- row = split.row()
+ if ob:
+ split.template_ID(ob, "active_material", new="material.new")
+ row = split.row()
- if slot:
- row.prop(slot, "link", text="")
- else:
- row.label()
- elif mat:
- split.template_ID(space, "pin_id")
- split.separator()
+ if slot:
+ row.prop(slot, "link", text="")
+ else:
+ row.label()
+ elif mat:
+ split.template_ID(space, "pin_id")
+ split.separator()
class Cycles_PT_mesh_displacement(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Displacement"
- bl_context = "data"
+ bl_label = "Displacement"
+ bl_context = "data"
- @classmethod
- def poll(cls, context):
- return context.mesh or context.curve or context.meta_ball
+ @classmethod
+ def poll(cls, context):
+ return context.mesh or context.curve or context.meta_ball
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- mesh = context.mesh
- curve = context.curve
- mball = context.meta_ball
+ mesh = context.mesh
+ curve = context.curve
+ mball = context.meta_ball
- if mesh:
- cycles = mesh.cycles
- elif curve:
- cycles = curve.cycles
- elif mball:
- cycles = mball.cycles
+ if mesh:
+ cdata = mesh.cycles
+ elif curve:
+ cdata = curve.cycles
+ elif mball:
+ cdata = mball.cycles
- layout.prop(cycles, "displacement_method", text="Method")
- layout.prop(cycles, "use_subdivision");
- layout.prop(cycles, "dicing_rate");
+ layout.prop(cdata, "displacement_method", text="Method")
+ layout.prop(cdata, "use_subdivision");
+ layout.prop(cdata, "dicing_rate");
def find_node(material, nodetype):
- if material and material.node_tree:
- ntree = material.node_tree
+ if material and material.node_tree:
+ ntree = material.node_tree
- for node in ntree.nodes:
- if type(node) is not bpy.types.NodeGroup and node.type == nodetype:
- return node
-
- return None
+ for node in ntree.nodes:
+ if type(node) is not bpy.types.NodeGroup and node.type == nodetype:
+ return node
+
+ return None
def find_node_input(node, name):
- for input in node.inputs:
- if input.name == name:
- return input
-
- return None
+ for input in node.inputs:
+ if input.name == name:
+ return input
+
+ return None
def panel_node_draw(layout, id, output_type, input_name):
- if not id.node_tree:
- layout.prop(id, "use_nodes")
- return
+ if not id.node_tree:
+ layout.prop(id, "use_nodes")
+ return
- ntree = id.node_tree
+ ntree = id.node_tree
- node = find_node(id, output_type)
- if not node:
- layout.label(text="No output node.")
- else:
- input = find_node_input(node, input_name)
- layout.template_node_view(ntree, node, input);
+ node = find_node(id, output_type)
+ if not node:
+ layout.label(text="No output node.")
+ else:
+ input = find_node_input(node, input_name)
+ layout.template_node_view(ntree, node, input);
class CyclesLamp_PT_lamp(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Surface"
- bl_context = "data"
+ bl_label = "Surface"
+ bl_context = "data"
- @classmethod
- def poll(cls, context):
- return context.lamp and CyclesButtonsPanel.poll(context)
+ @classmethod
+ def poll(cls, context):
+ return context.lamp and CyclesButtonsPanel.poll(context)
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- mat = context.lamp
- panel_node_draw(layout, mat, 'OUTPUT_LAMP', 'Surface')
+ mat = context.lamp
+ panel_node_draw(layout, mat, 'OUTPUT_LAMP', 'Surface')
class CyclesWorld_PT_surface(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Surface"
- bl_context = "world"
+ bl_label = "Surface"
+ bl_context = "world"
- @classmethod
- def poll(cls, context):
- return context.world and CyclesButtonsPanel.poll(context)
+ @classmethod
+ def poll(cls, context):
+ return context.world and CyclesButtonsPanel.poll(context)
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- mat = context.world
- panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Surface')
+ mat = context.world
+ panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Surface')
class CyclesWorld_PT_volume(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Volume"
- bl_context = "world"
+ bl_label = "Volume"
+ bl_context = "world"
- @classmethod
- def poll(cls, context):
- return context.world and CyclesButtonsPanel.poll(context)
+ @classmethod
+ def poll(cls, context):
+ return context.world and CyclesButtonsPanel.poll(context)
- def draw(self, context):
- layout = self.layout
- layout.active = False
+ def draw(self, context):
+ layout = self.layout
+ layout.active = False
- mat = context.world
- panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Volume')
+ mat = context.world
+ panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Volume')
class CyclesMaterial_PT_surface(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Surface"
- bl_context = "material"
+ bl_label = "Surface"
+ bl_context = "material"
- @classmethod
- def poll(cls, context):
- return context.material and CyclesButtonsPanel.poll(context)
+ @classmethod
+ def poll(cls, context):
+ return context.material and CyclesButtonsPanel.poll(context)
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- mat = context.material
- panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Surface')
+ mat = context.material
+ panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Surface')
class CyclesMaterial_PT_volume(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Volume"
- bl_context = "material"
+ bl_label = "Volume"
+ bl_context = "material"
- @classmethod
- def poll(cls, context):
- return context.material and CyclesButtonsPanel.poll(context)
+ @classmethod
+ def poll(cls, context):
+ return context.material and CyclesButtonsPanel.poll(context)
- def draw(self, context):
- layout = self.layout
- layout.active = False
+ def draw(self, context):
+ layout = self.layout
+ layout.active = False
- mat = context.material
- panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Volume')
+ mat = context.material
+ panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Volume')
class CyclesMaterial_PT_displacement(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Displacement"
- bl_context = "material"
+ bl_label = "Displacement"
+ bl_context = "material"
- @classmethod
- def poll(cls, context):
- return context.material and CyclesButtonsPanel.poll(context)
+ @classmethod
+ def poll(cls, context):
+ return context.material and CyclesButtonsPanel.poll(context)
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- mat = context.material
- panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Displacement')
+ mat = context.material
+ panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Displacement')
class CyclesMaterial_PT_settings(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Settings"
- bl_context = "material"
- bl_options = {'DEFAULT_CLOSED'}
+ bl_label = "Settings"
+ bl_context = "material"
+ bl_options = {'DEFAULT_CLOSED'}
- @classmethod
- def poll(cls, context):
- # return context.material and CyclesButtonsPanel.poll(context)
- return False
+ @classmethod
+ def poll(cls, context):
+ # return context.material and CyclesButtonsPanel.poll(context)
+ return False
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- mat = context.material
-
- row = layout.row()
- row.label(text="Light Group:")
- row.prop(mat, "light_group", text="")
+ mat = context.material
+
+ row = layout.row()
+ row.label(text="Light Group:")
+ row.prop(mat, "light_group", text="")
class CyclesTexture_PT_context(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = ""
- bl_context = "texture"
- bl_options = {'HIDE_HEADER'}
- COMPAT_ENGINES = {'CYCLES'}
-
- def draw(self, context):
- layout = self.layout
-
- tex = context.texture
- space = context.space_data
- pin_id = space.pin_id
- use_pin_id = space.use_pin_id;
- user = context.texture_user
- node = context.texture_node
-
- if not use_pin_id or not isinstance(pin_id, bpy.types.Texture):
- pin_id = None
-
- if not pin_id:
- layout.template_texture_user()
-
- if user:
- layout.separator()
-
- split = layout.split(percentage=0.65)
- col = split.column()
-
- if pin_id:
- col.template_ID(space, "pin_id")
- elif user:
- col.template_ID(user, "texture", new="texture.new")
-
- if tex:
- row = split.row()
- row.prop(tex, "use_nodes", icon="NODETREE", text="")
- row.label()
-
- if not tex.use_nodes:
- split = layout.split(percentage=0.2)
- split.label(text="Type:")
- split.prop(tex, "type", text="")
+ bl_label = ""
+ bl_context = "texture"
+ bl_options = {'HIDE_HEADER'}
+ COMPAT_ENGINES = {'CYCLES'}
+
+ def draw(self, context):
+ layout = self.layout
+
+ tex = context.texture
+ space = context.space_data
+ pin_id = space.pin_id
+ use_pin_id = space.use_pin_id;
+ user = context.texture_user
+ node = context.texture_node
+
+ if not use_pin_id or not isinstance(pin_id, bpy.types.Texture):
+ pin_id = None
+
+ if not pin_id:
+ layout.template_texture_user()
+
+ if user:
+ layout.separator()
+
+ split = layout.split(percentage=0.65)
+ col = split.column()
+
+ if pin_id:
+ col.template_ID(space, "pin_id")
+ elif user:
+ col.template_ID(user, "texture", new="texture.new")
+
+ if tex:
+ row = split.row()
+ row.prop(tex, "use_nodes", icon="NODETREE", text="")
+ row.label()
+
+ if not tex.use_nodes:
+ split = layout.split(percentage=0.2)
+ split.label(text="Type:")
+ split.prop(tex, "type", text="")
class CyclesTexture_PT_nodes(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Nodes"
- bl_context = "texture"
+ bl_label = "Nodes"
+ bl_context = "texture"
- @classmethod
- def poll(cls, context):
- tex = context.texture
- return (tex and tex.use_nodes) and CyclesButtonsPanel.poll(context)
+ @classmethod
+ def poll(cls, context):
+ tex = context.texture
+ return (tex and tex.use_nodes) and CyclesButtonsPanel.poll(context)
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- tex = context.texture
- panel_node_draw(layout, tex, 'OUTPUT_TEXTURE', 'Color')
+ tex = context.texture
+ panel_node_draw(layout, tex, 'OUTPUT_TEXTURE', 'Color')
class CyclesTexture_PT_node(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Node"
- bl_context = "texture"
+ bl_label = "Node"
+ bl_context = "texture"
- @classmethod
- def poll(cls, context):
- node = context.texture_node
- return node and CyclesButtonsPanel.poll(context)
+ @classmethod
+ def poll(cls, context):
+ node = context.texture_node
+ return node and CyclesButtonsPanel.poll(context)
- def draw(self, context):
- layout = self.layout
+ def draw(self, context):
+ layout = self.layout
- node = context.texture_node
- ntree = node.id_data
- layout.template_node_view(ntree, node, None)
+ node = context.texture_node
+ ntree = node.id_data
+ layout.template_node_view(ntree, node, None)
class CyclesTexture_PT_mapping(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Mapping"
- bl_context = "texture"
+ bl_label = "Mapping"
+ bl_context = "texture"
- @classmethod
- def poll(cls, context):
- tex = context.texture
- node = context.texture_node
- return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context)
+ @classmethod
+ def poll(cls, context):
+ tex = context.texture
+ node = context.texture_node
+ return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context)
- def draw(self, context):
- layout = self.layout
- layout.label("Texture coordinate mapping goes here.");
- layout.label("Translate, rotate, scale, projection, XYZ.")
+ def draw(self, context):
+ layout = self.layout
+ layout.label("Texture coordinate mapping goes here.");
+ layout.label("Translate, rotate, scale, projection, XYZ.")
class CyclesTexture_PT_color(CyclesButtonsPanel, bpy.types.Panel):
- bl_label = "Color"
- bl_context = "texture"
-
- @classmethod
- def poll(cls, context):
- tex = context.texture
- node = context.texture_node
- return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context)
-
- def draw(self, context):
- layout = self.layout
- layout.label("Color modification options go here.");
- layout.label("Ramp, brightness, contrast, saturation.")
-
+ bl_label = "Color"
+ bl_context = "texture"
+
+ @classmethod
+ def poll(cls, context):
+ tex = context.texture
+ node = context.texture_node
+ return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context)
+
+ def draw(self, context):
+ layout = self.layout
+ layout.label("Color modification options go here.");
+ layout.label("Ramp, brightness, contrast, saturation.")
+
def draw_device(self, context):
- scene = context.scene
- layout = self.layout
+ scene = context.scene
+ layout = self.layout
- if scene.render.engine == "CYCLES":
- cycles = scene.cycles
+ if scene.render.engine == "CYCLES":
+ cscene = scene.cycles
- if 'cuda' in engine.available_devices():
- layout.prop(cycles, "device")
- if cycles.device == 'CPU' and engine.with_osl():
- layout.prop(cycles, "shading_system")
+ if 'cuda' in engine.available_devices():
+ layout.prop(cscene, "device")
+ if cscene.device == 'CPU' and engine.with_osl():
+ layout.prop(cscene, "shading_system")
def get_panels():
- return [
- bpy.types.RENDER_PT_render,
- bpy.types.RENDER_PT_output,
- bpy.types.RENDER_PT_encoding,
- bpy.types.RENDER_PT_dimensions,
- bpy.types.RENDER_PT_stamp,
- bpy.types.WORLD_PT_context_world,
- bpy.types.DATA_PT_context_mesh,
- bpy.types.DATA_PT_context_camera,
- bpy.types.DATA_PT_context_lamp,
- bpy.types.DATA_PT_texture_space,
- bpy.types.DATA_PT_curve_texture_space,
- bpy.types.DATA_PT_mball_texture_space,
- bpy.types.DATA_PT_vertex_groups,
- bpy.types.DATA_PT_shape_keys,
- bpy.types.DATA_PT_uv_texture,
- bpy.types.DATA_PT_vertex_colors,
- bpy.types.DATA_PT_camera,
- bpy.types.DATA_PT_camera_display,
- bpy.types.DATA_PT_custom_props_mesh,
- bpy.types.DATA_PT_custom_props_camera,
- bpy.types.DATA_PT_custom_props_lamp,
- bpy.types.TEXTURE_PT_clouds,
- bpy.types.TEXTURE_PT_wood,
- bpy.types.TEXTURE_PT_marble,
- bpy.types.TEXTURE_PT_magic,
- bpy.types.TEXTURE_PT_blend,
- bpy.types.TEXTURE_PT_stucci,
- bpy.types.TEXTURE_PT_image,
- bpy.types.TEXTURE_PT_image_sampling,
- bpy.types.TEXTURE_PT_image_mapping,
- bpy.types.TEXTURE_PT_musgrave,
- bpy.types.TEXTURE_PT_voronoi,
- bpy.types.TEXTURE_PT_distortednoise,
- bpy.types.TEXTURE_PT_voxeldata,
- bpy.types.TEXTURE_PT_pointdensity,
- bpy.types.TEXTURE_PT_pointdensity_turbulence]
+ return [
+ bpy.types.RENDER_PT_render,
+ bpy.types.RENDER_PT_output,
+ bpy.types.RENDER_PT_encoding,
+ bpy.types.RENDER_PT_dimensions,
+ bpy.types.RENDER_PT_stamp,
+ bpy.types.WORLD_PT_context_world,
+ bpy.types.DATA_PT_context_mesh,
+ bpy.types.DATA_PT_context_camera,
+ bpy.types.DATA_PT_context_lamp,
+ bpy.types.DATA_PT_texture_space,
+ bpy.types.DATA_PT_curve_texture_space,
+ bpy.types.DATA_PT_mball_texture_space,
+ bpy.types.DATA_PT_vertex_groups,
+ bpy.types.DATA_PT_shape_keys,
+ bpy.types.DATA_PT_uv_texture,
+ bpy.types.DATA_PT_vertex_colors,
+ bpy.types.DATA_PT_camera,
+ bpy.types.DATA_PT_camera_display,
+ bpy.types.DATA_PT_custom_props_mesh,
+ bpy.types.DATA_PT_custom_props_camera,
+ bpy.types.DATA_PT_custom_props_lamp,
+ bpy.types.TEXTURE_PT_clouds,
+ bpy.types.TEXTURE_PT_wood,
+ bpy.types.TEXTURE_PT_marble,
+ bpy.types.TEXTURE_PT_magic,
+ bpy.types.TEXTURE_PT_blend,
+ bpy.types.TEXTURE_PT_stucci,
+ bpy.types.TEXTURE_PT_image,
+ bpy.types.TEXTURE_PT_image_sampling,
+ bpy.types.TEXTURE_PT_image_mapping,
+ bpy.types.TEXTURE_PT_musgrave,
+ bpy.types.TEXTURE_PT_voronoi,
+ bpy.types.TEXTURE_PT_distortednoise,
+ bpy.types.TEXTURE_PT_voxeldata,
+ bpy.types.TEXTURE_PT_pointdensity,
+ bpy.types.TEXTURE_PT_pointdensity_turbulence]
def register():
- bpy.types.RENDER_PT_render.append(draw_device)
+ bpy.types.RENDER_PT_render.append(draw_device)
- for panel in get_panels():
- panel.COMPAT_ENGINES.add('CYCLES')
-
+ for panel in get_panels():
+ panel.COMPAT_ENGINES.add('CYCLES')
+
def unregister():
- bpy.types.RENDER_PT_render.remove(draw_device)
+ bpy.types.RENDER_PT_render.remove(draw_device)
- for panel in get_panels():
- panel.COMPAT_ENGINES.remove('CYCLES')
+ for panel in get_panels():
+ panel.COMPAT_ENGINES.remove('CYCLES')