forked from bartvdbraak/blender
Cycles / Sampling Presets:
* Add Presets for Sampling. This comes with a simple Preview and Final preset, but as this is varying a lot depending on the scene, they should just be a starting point. The user can add own presets here. * Some UI layout changes to match the settings a bit better.
This commit is contained in:
parent
cf62de6c6d
commit
ac1d58d962
@ -46,6 +46,36 @@ class AddPresetIntegrator(AddPresetBase, Operator):
|
||||
preset_subdir = "cycles/integrator"
|
||||
|
||||
|
||||
class AddPresetSampling(AddPresetBase, Operator):
|
||||
'''Add a Sampling Preset'''
|
||||
bl_idname = "render.cycles_sampling_preset_add"
|
||||
bl_label = "Add Sampling Preset"
|
||||
preset_menu = "CYCLES_MT_sampling_presets"
|
||||
|
||||
preset_defines = [
|
||||
"cycles = bpy.context.scene.cycles"
|
||||
]
|
||||
|
||||
preset_values = [
|
||||
"cycles.samples",
|
||||
"cycles.preview_samples",
|
||||
"cycles.aa_samples",
|
||||
"cycles.preview_aa_samples",
|
||||
"cycles.diffuse_samples",
|
||||
"cycles.glossy_samples",
|
||||
"cycles.transmission_samples",
|
||||
"cycles.ao_samples",
|
||||
"cycles.mesh_light_samples",
|
||||
"cycles.subsurface_samples",
|
||||
"cycles.no_caustics",
|
||||
"cycles.blur_glossy",
|
||||
"cycles.squared_samples",
|
||||
"cycles.progressive"
|
||||
]
|
||||
|
||||
preset_subdir = "cycles/sampling"
|
||||
|
||||
|
||||
def register():
|
||||
pass
|
||||
|
||||
|
@ -23,6 +23,14 @@ import bpy
|
||||
from bpy.types import Panel, Menu, Operator
|
||||
|
||||
|
||||
class CYCLES_MT_sampling_presets(Menu):
|
||||
bl_label = "Sampling Presets"
|
||||
preset_subdir = "cycles/sampling"
|
||||
preset_operator = "script.execute_preset"
|
||||
COMPAT_ENGINES = {'CYCLES'}
|
||||
draw = Menu.draw_preset
|
||||
|
||||
|
||||
class CYCLES_MT_integrator_presets(Menu):
|
||||
bl_label = "Integrator Presets"
|
||||
preset_subdir = "cycles/integrator"
|
||||
@ -53,21 +61,29 @@ class CyclesRender_PT_sampling(CyclesButtonsPanel, Panel):
|
||||
cscene = scene.cycles
|
||||
device_type = context.user_preferences.system.compute_device_type
|
||||
|
||||
row = layout.row(align=True)
|
||||
row.menu("CYCLES_MT_sampling_presets", text=bpy.types.CYCLES_MT_sampling_presets.bl_label)
|
||||
row.operator("render.cycles_sampling_preset_add", text="", icon="ZOOMIN")
|
||||
row.operator("render.cycles_sampling_preset_add", text="", icon="ZOOMOUT").remove_active = True
|
||||
|
||||
row = layout.row()
|
||||
sub = row.row()
|
||||
sub.active = (device_type == 'NONE' or cscene.device == 'CPU')
|
||||
sub.prop(cscene, "progressive")
|
||||
row.prop(cscene, "squared_samples")
|
||||
|
||||
split = layout.split()
|
||||
|
||||
col = split.column()
|
||||
sub = col.column()
|
||||
sub.active = (device_type == 'NONE' or cscene.device == 'CPU')
|
||||
sub.prop(cscene, "progressive")
|
||||
|
||||
sub = col.column(align=True)
|
||||
sub.label("Settings:")
|
||||
sub.prop(cscene, "seed")
|
||||
sub.prop(cscene, "sample_clamp")
|
||||
|
||||
if cscene.progressive or (device_type != 'NONE' and cscene.device == 'GPU'):
|
||||
col = split.column()
|
||||
col.label(text="Samples:")
|
||||
sub = col.column(align=True)
|
||||
sub.label(text="Samples:")
|
||||
sub.prop(cscene, "samples", text="Render")
|
||||
sub.prop(cscene, "preview_samples", text="Preview")
|
||||
else:
|
||||
@ -76,8 +92,8 @@ class CyclesRender_PT_sampling(CyclesButtonsPanel, Panel):
|
||||
sub.prop(cscene, "preview_aa_samples", text="Preview")
|
||||
|
||||
col = split.column()
|
||||
col.label(text="Samples:")
|
||||
sub = col.column(align=True)
|
||||
sub.label(text="Samples:")
|
||||
sub.prop(cscene, "diffuse_samples", text="Diffuse")
|
||||
sub.prop(cscene, "glossy_samples", text="Glossy")
|
||||
sub.prop(cscene, "transmission_samples", text="Transmission")
|
||||
@ -85,8 +101,6 @@ class CyclesRender_PT_sampling(CyclesButtonsPanel, Panel):
|
||||
sub.prop(cscene, "mesh_light_samples", text="Mesh Light")
|
||||
sub.prop(cscene, "subsurface_samples", text="Subsurface")
|
||||
|
||||
layout.prop(cscene, "squared_samples")
|
||||
|
||||
if cscene.feature_set == 'EXPERIMENTAL' and (device_type == 'NONE' or cscene.device == 'CPU'):
|
||||
layout.row().prop(cscene, "sampling_pattern", text="Pattern")
|
||||
|
||||
|
16
release/scripts/presets/cycles/sampling/final.py
Normal file
16
release/scripts/presets/cycles/sampling/final.py
Normal file
@ -0,0 +1,16 @@
|
||||
import bpy
|
||||
cycles = bpy.context.scene.cycles
|
||||
|
||||
cycles.squared_samples = True
|
||||
|
||||
cycles.samples = 8
|
||||
cycles.preview_samples = 8
|
||||
cycles.aa_samples = 8
|
||||
cycles.preview_aa_samples = 8
|
||||
|
||||
cycles.diffuse_samples = 3
|
||||
cycles.glossy_samples = 2
|
||||
cycles.transmission_samples = 2
|
||||
cycles.ao_samples = 1
|
||||
cycles.mesh_light_samples = 2
|
||||
cycles.subsurface_samples = 2
|
16
release/scripts/presets/cycles/sampling/preview.py
Normal file
16
release/scripts/presets/cycles/sampling/preview.py
Normal file
@ -0,0 +1,16 @@
|
||||
import bpy
|
||||
cycles = bpy.context.scene.cycles
|
||||
|
||||
cycles.squared_samples = True
|
||||
|
||||
cycles.samples = 4
|
||||
cycles.preview_samples = 4
|
||||
cycles.aa_samples = 4
|
||||
cycles.preview_aa_samples = 4
|
||||
|
||||
cycles.diffuse_samples = 3
|
||||
cycles.glossy_samples = 2
|
||||
cycles.transmission_samples = 2
|
||||
cycles.ao_samples = 1
|
||||
cycles.mesh_light_samples = 2
|
||||
cycles.subsurface_samples = 2
|
Loading…
Reference in New Issue
Block a user