[Bf-blender-cvs] [67913c603cd] blender2.8: Probe: Add influence display and rework UI.

Clément Foucault noreply at git.blender.org
Fri Jun 9 01:27:28 CEST 2017


Commit: 67913c603cd31f72b1cd94e787f99179a8e966a5
Author: Clément Foucault
Date:   Fri Jun 9 01:14:39 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB67913c603cd31f72b1cd94e787f99179a8e966a5

Probe: Add influence display and rework UI.

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

M	release/scripts/startup/bl_ui/properties_data_probe.py
M	source/blender/draw/intern/draw_cache.c
M	source/blender/draw/modes/object_mode.c
M	source/blender/makesdna/DNA_probe_types.h

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

diff --git a/release/scripts/startup/bl_ui/properties_data_probe.py b/release/scripts/startup/bl_ui/properties_data_probe.py
index 4c407a9f06d..b6f4b1ce30d 100644
--- a/release/scripts/startup/bl_ui/properties_data_probe.py
+++ b/release/scripts/startup/bl_ui/properties_data_probe.py
@@ -62,12 +62,17 @@ class DATA_PT_probe(DataButtonsPanel, Panel):
 
         layout.prop(probe, "type", expand=True)
 
-        layout.prop(probe, "influence_distance")
-        layout.prop(probe, "clip_start")
-        layout.prop(probe, "clip_end")
-        # layout.prop(probe, "influence_minimum")
-        # layout.prop(probe, "influence_maximum")
-        layout.prop(probe, "falloff")
+        split = layout.split()
+
+        col = split.column(align=True)
+        col.label("Influence:")
+        col.prop(probe, "influence_distance", text="Distance")
+        col.prop(probe, "falloff")
+
+        col = split.column(align=True)
+        col.label("Clipping:")
+        col.prop(probe, "clip_start", text="Start")
+        col.prop(probe, "clip_end", text="End")
 
 
 classes = (
diff --git a/source/blender/draw/intern/draw_cache.c b/source/blender/draw/intern/draw_cache.c
index b81f7bd2201..946ac78b468 100644
--- a/source/blender/draw/intern/draw_cache.c
+++ b/source/blender/draw/intern/draw_cache.c
@@ -220,7 +220,7 @@ static VertexBuffer *fill_arrows_vbo(const float scale)
 
 static VertexBuffer *sphere_wire_vbo(const float rad)
 {
-#define NSEGMENTS 16
+#define NSEGMENTS 32
 	/* Position Only 3D format */
 	static VertexFormat format = { 0 };
 	static struct { uint pos; } attr_id;
diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c
index ec1f6da7ff2..ae144272dc4 100644
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@ -32,6 +32,7 @@
 #include "DNA_curve_types.h"
 #include "DNA_mesh_types.h"
 #include "DNA_object_force.h"
+#include "DNA_probe_types.h"
 #include "DNA_particle_types.h"
 #include "DNA_view3d_types.h"
 #include "DNA_world_types.h"
@@ -1410,9 +1411,21 @@ static void DRW_shgroup_speaker(OBJECT_StorageList *stl, Object *ob, SceneLayer
 static void DRW_shgroup_probe(OBJECT_StorageList *stl, Object *ob, SceneLayer *sl)
 {
 	float *color;
+	Probe *prb = (Probe *)ob->data;
 	DRW_object_wire_theme_get(ob, sl, &color);
 
+	prb->distfalloff = (1.0f - prb->falloff) * prb->distinf;
+
 	DRW_shgroup_call_dynamic_add(stl->g_data->probe, ob->obmat[3], color);
+
+	DRW_shgroup_call_dynamic_add(stl->g_data->sphere, color, &prb->distinf, ob->obmat);
+	DRW_shgroup_call_dynamic_add(stl->g_data->sphere, color, &prb->distfalloff, ob->obmat);
+
+	DRW_shgroup_call_dynamic_add(stl->g_data->lamp_center_group, ob->obmat[3]);
+
+	/* Line and point going to the ground */
+	DRW_shgroup_call_dynamic_add(stl->g_data->lamp_groundline, ob->obmat[3]);
+	DRW_shgroup_call_dynamic_add(stl->g_data->lamp_groundpoint, ob->obmat[3]);
 }
 
 static void DRW_shgroup_relationship_lines(OBJECT_StorageList *stl, Object *ob)
diff --git a/source/blender/makesdna/DNA_probe_types.h b/source/blender/makesdna/DNA_probe_types.h
index 451acdca06e..a461fc5d4a4 100644
--- a/source/blender/makesdna/DNA_probe_types.h
+++ b/source/blender/makesdna/DNA_probe_types.h
@@ -62,6 +62,9 @@ typedef struct Probe {
 
 	struct Object *parallax_ob;    /* Object to use as a parallax origin */
 	struct Image *image;           /* Image to use on as lighting data */
+
+	/* Runtime display data */
+	float distfalloff, pad;
 } Probe;
 
 /* Probe->type */




More information about the Bf-blender-cvs mailing list