diff options
author | Thomas Dinges <blender@dingto.org> | 2009-07-21 00:34:14 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2009-07-21 00:34:14 +0400 |
commit | c72064272f7ef64070339a7622dc7305007de8c2 (patch) | |
tree | 323068f07b4816e68368c3b591f63c0d1cd49af2 | |
parent | 9a9d118bbf7786b1c5c412bef651885e33709553 (diff) |
2.5 Lamps:
* Replaced RNA ENUM hacks for "shadow method" and "shadow_ray_sampling_method" with modifications in the layout file.
-rw-r--r-- | release/ui/buttons_data_lamp.py | 31 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_lamp.c | 19 |
2 files changed, 22 insertions, 28 deletions
diff --git a/release/ui/buttons_data_lamp.py b/release/ui/buttons_data_lamp.py index b70734d2fa5..aa1b9db8334 100644 --- a/release/ui/buttons_data_lamp.py +++ b/release/ui/buttons_data_lamp.py @@ -124,10 +124,7 @@ class DATA_PT_sky(DataButtonsPanel): col.itemR(lamp, "sun_brightness", text="Brightness") col.itemR(lamp, "sun_size", text="Size") col.itemR(lamp, "backscattered_light", text="Back Light") - - - class DATA_PT_atmosphere(DataButtonsPanel): __idname__ = "DATA_PT_atmosphere" __label__ = "Atmosphere" @@ -168,10 +165,15 @@ class DATA_PT_shadow(DataButtonsPanel): def draw(self, context): layout = self.layout lamp = context.lamp - - layout.itemR(lamp, "shadow_method", expand=True) - if lamp.shadow_method in ('BUFFER_SHADOW', 'RAY_SHADOW'): + row = layout.row(align=True) + row.item_enumR(lamp, "shadow_method", 'NOSHADOW') + row.item_enumR(lamp, "shadow_method", 'RAY_SHADOW') + if lamp.type == 'SPOT': + row.item_enumR(lamp, "shadow_method", 'BUFFER_SHADOW') + + + if lamp.shadow_method != 'NOSHADOW': split = layout.split() @@ -184,9 +186,12 @@ class DATA_PT_shadow(DataButtonsPanel): if lamp.shadow_method == 'RAY_SHADOW': - col = layout.column() - col.itemL(text="Sampling:") - col.row().itemR(lamp, "shadow_ray_sampling_method", expand=True) + row = layout.row(align=True) + layout.itemL(text="Sampling:") + row.item_enumR(lamp, "shadow_ray_sampling_method", 'ADAPTIVE_QMC') + row.item_enumR(lamp, "shadow_ray_sampling_method", 'CONSTANT_QMC') + if lamp.type == 'AREA': + row.item_enumR(lamp, "shadow_ray_sampling_method", 'CONSTANT_JITTERED') if lamp.type in ('POINT', 'SUN', 'SPOT'): flow = layout.column_flow() @@ -206,10 +211,10 @@ class DATA_PT_shadow(DataButtonsPanel): flow.itemR(lamp, "jitter") if lamp.shadow_method == 'BUFFER_SHADOW': - col = layout.column() - col.itemL(text="Buffer Type:") - col.row().itemR(lamp, "shadow_buffer_type", expand=True) - + row = layout.row(align=True) + row.itemL(text="Buffer Type:") + layout.itemR(lamp, "shadow_buffer_type", expand=True) + if lamp.shadow_buffer_type in ('REGULAR', 'HALFWAY'): flow = layout.column_flow() flow.itemL(text="Sample Buffers:") diff --git a/source/blender/makesrna/intern/rna_lamp.c b/source/blender/makesrna/intern/rna_lamp.c index b83036be8fb..dd2681cb092 100644 --- a/source/blender/makesrna/intern/rna_lamp.c +++ b/source/blender/makesrna/intern/rna_lamp.c @@ -390,30 +390,19 @@ static void rna_def_lamp_shadow(StructRNA *srna, int spot, int area) static EnumPropertyItem prop_shadow_items[] = { {0, "NOSHADOW", 0, "No Shadow", ""}, - {LA_SHAD_RAY, "RAY_SHADOW", 0, "Ray Shadow", "Use ray tracing for shadow."}, - {0, NULL, 0, NULL, NULL}}; - - static EnumPropertyItem prop_spot_shadow_items[] = { - {0, "NOSHADOW", 0, "No Shadow", ""}, {LA_SHAD_BUF, "BUFFER_SHADOW", 0, "Buffer Shadow", "Lets spotlight produce shadows using shadow buffer."}, {LA_SHAD_RAY, "RAY_SHADOW", 0, "Ray Shadow", "Use ray tracing for shadow."}, {0, NULL, 0, NULL, NULL}}; - - static EnumPropertyItem prop_ray_sampling_method_items[] = { - {LA_SAMP_HALTON, "ADAPTIVE_QMC", 0, "Adaptive QMC", ""}, - {LA_SAMP_HAMMERSLEY, "CONSTANT_QMC", 0, "Constant QMC", ""}, - {0, NULL, 0, NULL, NULL}}; - static EnumPropertyItem prop_spot_ray_sampling_method_items[] = { + static EnumPropertyItem prop_ray_sampling_method_items[] = { {LA_SAMP_HALTON, "ADAPTIVE_QMC", 0, "Adaptive QMC", ""}, {LA_SAMP_HAMMERSLEY, "CONSTANT_QMC", 0, "Constant QMC", ""}, - {LA_SAMP_CONSTANT, "CONSTANT_JITTERED", 0, "Constant Jittered", ""}, + {LA_SAMP_CONSTANT, "CONSTANT_JITTERED", 0, "Constant Jittered", "For Area lamps only."}, {0, NULL, 0, NULL, NULL}}; - prop= RNA_def_property(srna, "shadow_method", PROP_ENUM, PROP_NONE); RNA_def_property_enum_bitflag_sdna(prop, NULL, "mode"); - RNA_def_property_enum_items(prop, (spot)? prop_spot_shadow_items: prop_shadow_items); + RNA_def_property_enum_items(prop, prop_shadow_items); RNA_def_property_ui_text(prop, "Shadow Method", "Method to compute lamp shadow with."); RNA_def_property_update(prop, NC_LAMP|ND_LIGHTING, NULL); @@ -430,7 +419,7 @@ static void rna_def_lamp_shadow(StructRNA *srna, int spot, int area) prop= RNA_def_property(srna, "shadow_ray_sampling_method", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "ray_samp_method"); - RNA_def_property_enum_items(prop, (area)? prop_spot_ray_sampling_method_items: prop_ray_sampling_method_items); + RNA_def_property_enum_items(prop, prop_ray_sampling_method_items); RNA_def_property_ui_text(prop, "Shadow Ray Sampling Method", "Method for generating shadow samples: Adaptive QMC is fastest, Constant QMC is less noisy but slower."); RNA_def_property_update(prop, NC_LAMP|ND_LIGHTING, NULL); |