diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-09-21 13:55:14 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-09-21 15:45:08 +0300 |
commit | 9ad2c0b6154b8e11521e9ee0422a79d5e0b9a2e1 (patch) | |
tree | 424a2422613eb855726d8b9e1a1b679d5e58f0c1 /source/blender/draw/engines/eevee/eevee_engine.c | |
parent | 77377f0ea8152d0ed5009a4940298b081b186787 (diff) |
Depsgraph and collection enable/visibility
Iterate over invisible objects too, so lamps can still lit the scene.
Also, now you can use a collection to set an object to invisible, not
only to visible.
For example:
Scene > Master collection > bedroom > furniture
Scene > View Layer > bedroom (visible)
> furniture (invisible)
The View Layer has two linked collections, bedroom and furniture.
This setup will make the furniture collection invisible.
Note: Unlike what was suggested on D2849, this does not make collection
visibility influence camera visibility. I will keep this as a separate
patch.
Reviewers: sergey
Subscribers: sergey, brecht, fclem
Differential Revision: https://developer.blender.org/D2849
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_engine.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_engine.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c index e8821f23633..f27b5236d71 100644 --- a/source/blender/draw/engines/eevee/eevee_engine.c +++ b/source/blender/draw/engines/eevee/eevee_engine.c @@ -29,6 +29,8 @@ #include "BLI_dynstr.h" #include "BLI_rand.h" +#include "BKE_object.h" + #include "GPU_material.h" #include "GPU_glew.h" @@ -93,6 +95,10 @@ static void EEVEE_cache_populate(void *vedata, Object *ob) } if (ELEM(ob->type, OB_MESH)) { + if (!BKE_object_is_visible(ob)) { + return; + } + EEVEE_materials_cache_populate(vedata, sldata, ob); const bool cast_shadow = true; |