[Bf-blender-cvs] [e97085778b5] blender2.8: Eevee: Update Light data panel

Clément Foucault noreply at git.blender.org
Sat Jun 3 01:43:44 CEST 2017


Commit: e97085778b502015a267c2f3488368c653834ab2
Author: Clément Foucault
Date:   Fri Jun 2 15:27:57 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBe97085778b502015a267c2f3488368c653834ab2

Eevee: Update Light data panel

===================================================================

M	release/scripts/startup/bl_ui/properties_data_lamp.py
M	source/blender/makesrna/intern/rna_lamp.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_data_lamp.py b/release/scripts/startup/bl_ui/properties_data_lamp.py
index d60354b4bec..bef2b2769d0 100644
--- a/release/scripts/startup/bl_ui/properties_data_lamp.py
+++ b/release/scripts/startup/bl_ui/properties_data_lamp.py
@@ -76,7 +76,7 @@ class DATA_PT_preview(DataButtonsPanel, Panel):
 
 class DATA_PT_lamp(DataButtonsPanel, Panel):
     bl_label = "Lamp"
-    COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+    COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME', 'BLENDER_CLAY'}
 
     def draw(self, context):
         layout = self.layout
@@ -124,6 +124,47 @@ class DATA_PT_lamp(DataButtonsPanel, Panel):
         col.prop(lamp, "use_diffuse")
 
 
+class DATA_PT_EEVEE_lamp(DataButtonsPanel, Panel):
+    bl_label = "Lamp"
+    COMPAT_ENGINES = {'BLENDER_EEVEE'}
+
+    def draw(self, context):
+        layout = self.layout
+
+        lamp = context.lamp
+
+        layout.row().prop(lamp, "type", expand=True)
+
+        split = layout.split()
+
+        col = split.column()
+        sub = col.column()
+        sub.prop(lamp, "color", text="")
+        sub.prop(lamp, "energy")
+
+        if lamp.type in {'POINT', 'SPOT', 'SUN'}:
+            sub.prop(lamp, "shadow_soft_size", text="Radius")
+        elif lamp.type == 'AREA':
+            sub = sub.column(align=True)
+            sub.prop(lamp, "shape", text="")
+            if lamp.shape == 'SQUARE':
+                sub.prop(lamp, "size")
+            elif lamp.shape == 'RECTANGLE':
+                sub.prop(lamp, "size", text="Size X")
+                sub.prop(lamp, "size_y", text="Size Y")
+
+        col = split.column()
+        col.prop(lamp, "use_specular")
+        col.prop(lamp, "use_diffuse")
+        col.separator()
+
+        if lamp.type in {'POINT', 'SPOT', 'AREA'}:
+            col.prop(lamp, "use_sphere")
+            col = col.column()
+            col.active = lamp.use_sphere
+            col.prop(lamp, "distance")
+
+
 class DATA_PT_sunsky(DataButtonsPanel, Panel):
     bl_label = "Sky & Atmosphere"
     COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -308,12 +349,46 @@ class DATA_PT_shadow(DataButtonsPanel, Panel):
             col.prop(lamp, "use_auto_clip_end", text="Autoclip End")
             sub = col.column()
             sub.active = not lamp.use_auto_clip_end
-            sub.prop(lamp, "shadow_buffer_clip_end", text=" Clip End")
+            sub.prop(lamp, "shadow_buffer_clip_end", text="Clip End")
+
+
+class DATA_PT_EEVEE_shadow(DataButtonsPanel, Panel):
+    bl_label = "Shadow"
+    COMPAT_ENGINES = {'BLENDER_EEVEE'}
+
+    @classmethod
+    def poll(cls, context):
+        lamp = context.lamp
+        engine = context.scene.render.engine
+        return (lamp and lamp.type in {'POINT', 'SUN', 'SPOT', 'AREA'}) and (engine in cls.COMPAT_ENGINES)
+
+    def draw_header(self, context):
+        lamp = context.lamp
+        self.layout.prop(lamp, "use_shadow", text="")
+
+    def draw(self, context):
+        layout = self.layout
+
+        lamp = context.lamp
+
+        if lamp.type == 'SUN':
+            layout.label("Comming Soon")
+        else:
+            split = layout.split()
+            split.active = lamp.use_shadow
+
+            col = split.column(align=True)
+            col.prop(lamp, "shadow_buffer_clip_start", text="Clip Start")
+            col.prop(lamp, "shadow_buffer_clip_end", text="Clip End")
+
+            col = split.column(align=True)
+            col.prop(lamp, "shadow_buffer_bias", text="Bias")
+            col.prop(lamp, "shadow_buffer_exp", text="Exponent")
 
 
 class DATA_PT_area(DataButtonsPanel, Panel):
     bl_label = "Area Shape"
-    COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+    COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME', 'BLENDER_CLAY'}
 
     @classmethod
     def poll(cls, context):
@@ -339,7 +414,7 @@ class DATA_PT_area(DataButtonsPanel, Panel):
 
 class DATA_PT_spot(DataButtonsPanel, Panel):
     bl_label = "Spot Shape"
-    COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+    COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME', 'BLENDER_CLAY'}
 
     @classmethod
     def poll(cls, context):
@@ -372,6 +447,31 @@ class DATA_PT_spot(DataButtonsPanel, Panel):
             sub.prop(lamp, "halo_step", text="Step")
 
 
+class DATA_PT_spot(DataButtonsPanel, Panel):
+    bl_label = "Spot Shape"
+    COMPAT_ENGINES = {'BLENDER_EEVEE'}
+
+    @classmethod
+    def poll(cls, context):
+        lamp = context.lamp
+        engine = context.scene.render.engine
+        return (lamp and lamp.type == 'SPOT') and (engine in cls.COMPAT_ENGINES)
+
+    def draw(self, context):
+        layout = self.layout
+
+        lamp = context.lamp
+
+        split = layout.split()
+
+        col = split.column()
+        sub = col.column()
+        sub.prop(lamp, "spot_size", text="Size")
+        sub.prop(lamp, "spot_blend", text="Blend", slider=True)
+        col = split.column()
+        col.prop(lamp, "show_cone")
+
+
 class DATA_PT_falloff_curve(DataButtonsPanel, Panel):
     bl_label = "Falloff Curve"
     bl_options = {'DEFAULT_CLOSED'}
@@ -401,8 +501,10 @@ classes = (
     DATA_PT_context_lamp,
     DATA_PT_preview,
     DATA_PT_lamp,
+    DATA_PT_EEVEE_lamp,
     DATA_PT_sunsky,
     DATA_PT_shadow,
+    DATA_PT_EEVEE_shadow,
     DATA_PT_area,
     DATA_PT_spot,
     DATA_PT_falloff_curve,
diff --git a/source/blender/makesrna/intern/rna_lamp.c b/source/blender/makesrna/intern/rna_lamp.c
index 51709d3137c..ff72aca9c11 100644
--- a/source/blender/makesrna/intern/rna_lamp.c
+++ b/source/blender/makesrna/intern/rna_lamp.c
@@ -722,6 +722,7 @@ static void rna_def_area_lamp(BlenderRNA *brna)
 	RNA_def_struct_ui_icon(srna, ICON_LAMP_AREA);
 
 	rna_def_lamp_shadow(srna, 0, 1);
+	rna_def_lamp_falloff(srna);
 
 	prop = RNA_def_property(srna, "use_umbra", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "ray_samp_type", LA_SAMP_UMBRA);




More information about the Bf-blender-cvs mailing list