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:
-rw-r--r--release/scripts/ui/properties_data_lamp.py104
1 files changed, 63 insertions, 41 deletions
diff --git a/release/scripts/ui/properties_data_lamp.py b/release/scripts/ui/properties_data_lamp.py
index a67d7c8fc87..69b22c555ab 100644
--- a/release/scripts/ui/properties_data_lamp.py
+++ b/release/scripts/ui/properties_data_lamp.py
@@ -239,6 +239,23 @@ class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel):
else:
layout.prop(lamp, "shadow_method", text="")
+ if lamp.shadow_method == 'NOSHADOW' and lamp.type == 'AREA':
+ split = layout.split()
+
+ col= split.column()
+ col.label(text="Form factor sampling:")
+
+ if wide_ui:
+ sub=col.row(align=True)
+ else:
+ sub=col.column(align=True)
+
+ if lamp.shape == 'SQUARE':
+ sub.prop(lamp, "shadow_ray_samples_x", text="Samples")
+ elif lamp.shape == 'RECTANGLE':
+ sub.prop(lamp, "shadow_ray_samples_x", text="Samples X")
+ sub.prop(lamp, "shadow_ray_samples_y", text="Samples Y")
+
if lamp.shadow_method != 'NOSHADOW':
split = layout.split()
@@ -251,51 +268,51 @@ class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel):
col.prop(lamp, "only_shadow")
if lamp.shadow_method == 'RAY_SHADOW':
- col = layout.column()
+ split = layout.split()
+
+ col = split.column()
col.label(text="Sampling:")
+
+ if lamp.type in ('POINT', 'SUN', 'SPOT'):
+ if wide_ui:
+ sub=col.row()
+ else:
+ sub=col.column()
+
+ sub.prop(lamp, "shadow_ray_samples", text="Samples")
+ sub.prop(lamp, "shadow_soft_size", text="Soft Size")
+
+ elif lamp.type == 'AREA':
+ if wide_ui:
+ sub=col.row(align=True)
+ else:
+ sub=col.column(align=True)
+
+ if lamp.shape == 'SQUARE':
+ sub.prop(lamp, "shadow_ray_samples_x", text="Samples")
+ elif lamp.shape == 'RECTANGLE':
+ sub.prop(lamp, "shadow_ray_samples_x", text="Samples X")
+ sub.prop(lamp, "shadow_ray_samples_y", text="Samples Y")
+
if wide_ui:
col.row().prop(lamp, "shadow_ray_sampling_method", expand=True)
else:
- col.prop(lamp, "shadow_ray_sampling_method", text="")
-
- if lamp.type in ('POINT', 'SUN', 'SPOT'):
- split = layout.split()
+ col.prop(lamp, "shadow_ray_sampling_method", text="")
- col = split.column()
- col.prop(lamp, "shadow_soft_size", text="Soft Size")
-
- col.prop(lamp, "shadow_ray_samples", text="Samples")
- if lamp.shadow_ray_sampling_method == 'ADAPTIVE_QMC':
- col.prop(lamp, "shadow_adaptive_threshold", text="Threshold")
+ split = layout.split()
+ col = split.column()
+
+ if lamp.shadow_ray_sampling_method == 'ADAPTIVE_QMC':
+ col.prop(lamp, "shadow_adaptive_threshold", text="Threshold")
if wide_ui:
col = split.column()
-
- elif lamp.type == 'AREA':
- split = layout.split()
-
+
+ if lamp.type == 'AREA' and lamp.shadow_ray_sampling_method == 'CONSTANT_JITTERED':
col = split.column()
-
- if lamp.shape == 'SQUARE':
- col.prop(lamp, "shadow_ray_samples_x", text="Samples")
- elif lamp.shape == 'RECTANGLE':
- col.prop(lamp, "shadow_ray_samples_x", text="Samples X")
- col.prop(lamp, "shadow_ray_samples_y", text="Samples Y")
-
- if lamp.shadow_ray_sampling_method == 'ADAPTIVE_QMC':
- col.prop(lamp, "shadow_adaptive_threshold", text="Threshold")
- if wide_ui:
- col = split.column()
-
- elif lamp.shadow_ray_sampling_method == 'CONSTANT_JITTERED':
- if wide_ui:
- col = split.column()
- col.prop(lamp, "umbra")
- col.prop(lamp, "dither")
- col.prop(lamp, "jitter")
- else:
- if wide_ui:
- col = split.column()
-
+ col = split.column()
+ col.prop(lamp, "umbra")
+ col.prop(lamp, "dither")
+ col.prop(lamp, "jitter")
elif lamp.shadow_method == 'BUFFER_SHADOW':
col = layout.column()
@@ -355,16 +372,21 @@ class DATA_PT_area(DataButtonsPanel, bpy.types.Panel):
return (lamp and lamp.type == 'AREA') and (engine in __class__.COMPAT_ENGINES)
def draw(self, context):
- layout = self.layout
-
lamp = context.lamp
+ wide_ui = context.region.width > narrowui
+ layout = self.layout
split = layout.split()
col = split.column()
- col.row().prop(lamp, "shape", expand=True)
+
+ if wide_ui:
+ col.row().prop(lamp, "shape", expand=True)
+ sub = col.row(align=True)
+ else:
+ col.prop(lamp, "shape", text="")
+ sub = col.column(align=True)
- sub = col.column(align=True)
if (lamp.shape == 'SQUARE'):
sub.prop(lamp, "size")
elif (lamp.shape == 'RECTANGLE'):