diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-08-29 21:55:14 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-08-29 21:55:14 +0400 |
commit | 1e741b3a52cc44b7a3ee173f180fd3d99c958efc (patch) | |
tree | c12f2b71959e4652dad133f9448828c42bae1f57 /intern/cycles | |
parent | eac2674f1d95ff7e43216fb58a012f1b59e1b709 (diff) |
Cycles: integrator presets, patch by Thomas.
Diffstat (limited to 'intern/cycles')
-rw-r--r-- | intern/cycles/blender/CMakeLists.txt | 1 | ||||
-rw-r--r-- | intern/cycles/blender/addon/__init__.py | 3 | ||||
-rw-r--r-- | intern/cycles/blender/addon/presets.py | 48 | ||||
-rw-r--r-- | intern/cycles/blender/addon/ui.py | 14 |
4 files changed, 65 insertions, 1 deletions
diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index a035d8fde6b..a4f290f4abd 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -16,6 +16,7 @@ set(addonfiles addon/__init__.py addon/engine.py addon/enums.py + addon/presets.py addon/properties.py addon/ui.py addon/xml.py) diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index 418f3d4cd27..3ff1a8f3d41 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -35,6 +35,7 @@ from cycles import ui from cycles import properties from cycles import xml from cycles import engine +from cycles import presets class CyclesRender(bpy.types.RenderEngine): bl_idname = 'CYCLES' @@ -76,11 +77,13 @@ def register(): properties.register() ui.register() xml.register() + presets.register() bpy.utils.register_module(__name__) def unregister(): xml.unregister() ui.unregister() properties.unregister() + presets.unregister() bpy.utils.unregister_module(__name__) diff --git a/intern/cycles/blender/addon/presets.py b/intern/cycles/blender/addon/presets.py new file mode 100644 index 00000000000..983d6dd471c --- /dev/null +++ b/intern/cycles/blender/addon/presets.py @@ -0,0 +1,48 @@ +# +# Copyright 2011, Blender Foundation. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +from bl_operators.presets import AddPresetBase +from bpy.types import Operator + +class AddPresetIntegrator(AddPresetBase, Operator): + '''Add an Integrator Preset''' + bl_idname = "render.cycles_integrator_preset_add" + bl_label = "Add Integrator Preset" + preset_menu = "CYCLES_MT_integrator_presets" + + preset_defines = [ + "cycles = bpy.context.scene.cycles" + ] + + preset_values = [ + "cycles.max_bounces", + "cycles.min_bounces", + "cycles.no_caustics", + ] + + preset_subdir = "cycles/integrator" + +def register(): + pass + +def unregister(): + pass + +if __name__ == "__main__": + register() + diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index ec753590cce..dc102b97db8 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -18,11 +18,18 @@ import bpy -from bpy.types import Panel +from bpy.types import Panel, Menu from cycles import enums from cycles import engine +class CYCLES_MT_integrator_presets(Menu): + bl_label = "Integrator Presets" + preset_subdir = "cycles/integrator" + preset_operator = "script.execute_preset" + COMPAT_ENGINES = {'CYCLES'} + draw = Menu.draw_preset + class CyclesButtonsPanel(): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" @@ -41,6 +48,11 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): scene = context.scene cscene = scene.cycles + + row = layout.row(align=True) + row.menu("CYCLES_MT_integrator_presets", text=bpy.types.CYCLES_MT_integrator_presets.bl_label) + row.operator("render.cycles_integrator_preset_add", text="", icon="ZOOMIN") + row.operator("render.cycles_integrator_preset_add", text="", icon="ZOOMOUT").remove_active = True split = layout.split() |