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:
authorClément Foucault <foucault.clem@gmail.com>2017-06-15 01:53:11 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-06-15 01:57:16 +0300
commitf2d7a28a0984bfebda21c07e9508313f0d92610c (patch)
tree283f13417d15b852ec3d78660ebca6324b99bedc
parentf5203e6cba27d8b0ed132fabe7c13866167000f0 (diff)
Probes: Modify Add Menu and change defaults.
-rw-r--r--source/blender/blenkernel/intern/lightprobe.c8
-rw-r--r--source/blender/editors/object/object_add.c16
2 files changed, 18 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/lightprobe.c b/source/blender/blenkernel/intern/lightprobe.c
index 97e1ff2733e..a1fa266512b 100644
--- a/source/blender/blenkernel/intern/lightprobe.c
+++ b/source/blender/blenkernel/intern/lightprobe.c
@@ -45,12 +45,14 @@ void BKE_lightprobe_init(LightProbe *probe)
BLI_assert(MEMCMP_STRUCT_OFS_IS_ZERO(probe, id));
probe->grid_resolution_x = probe->grid_resolution_y = probe->grid_resolution_z = 4;
- probe->distinf = 5.0f;
- probe->distpar = 5.0f;
+ probe->distinf = 2.5f;
+ probe->distpar = 2.5f;
probe->falloff = 0.2f;
- probe->clipsta = 1.0f;
+ probe->clipsta = 0.8f;
probe->clipend = 40.0f;
probe->data_draw_size = 1.0f;
+
+ probe->flag = LIGHTPROBE_FLAG_SHOW_INFLUENCE | LIGHTPROBE_FLAG_SHOW_DATA;
}
void *BKE_lightprobe_add(Main *bmain, const char *name)
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index 2649a6d6d69..33af8f94d04 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -152,11 +152,12 @@ static EnumPropertyItem field_type_items[] = {
{0, NULL, 0, NULL, NULL}
};
-/* copy from rna_lightprobe.c */
static EnumPropertyItem lightprobe_type_items[] = {
- {LIGHTPROBE_TYPE_CUBE, "CUBE", ICON_MESH_UVSPHERE, "Sphere", ""},
+ {0, "SPHERE", ICON_MESH_UVSPHERE, "Sphere", "Reflection probe with sphere attenuation"},
+ {1, "CUBE", ICON_MESH_CUBE, "Cube", "Reflection probe with cube attenuation"},
// {LIGHTPROBE_TYPE_PLANAR, "PLANAR", ICON_MESH_PLANE, "Planar", ""},
// {LIGHTPROBE_TYPE_IMAGE, "IMAGE", ICON_NONE, "Image", ""},
+ {2, "GRID", ICON_MESH_GRID, "Grid", "Irradiance probe to capture diffuse indirect lighting"},
{0, NULL, 0, NULL, NULL}
};
@@ -534,7 +535,16 @@ static int lightprobe_add_exec(bContext *C, wmOperator *op)
BKE_object_obdata_size_init(ob, dia);
probe = (LightProbe *)ob->data;
- probe->type = type;
+
+ if (type == 2) {
+ probe->type = LIGHTPROBE_TYPE_GRID;
+ probe->distinf = 0.3f;
+ probe->falloff = 1.0f;
+ }
+ else {
+ probe->type = LIGHTPROBE_TYPE_CUBE;
+ probe->attenuation_type = (type == 1) ? LIGHTPROBE_SHAPE_BOX : LIGHTPROBE_SHAPE_ELIPSOID;
+ }
DEG_relations_tag_update(CTX_data_main(C));