[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