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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-06-25 15:43:22 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-06-25 15:43:22 +0400
commit3271850a2f59cdcae4bb224522e67b986b8cb9fd (patch)
treed16f744b2a863f3a7b215d97888ca7bcf8778864 /intern/cycles/blender/blender_util.h
parentae797383b76a4489139b0152a6084b5dd4de2ba3 (diff)
Fix cycles not working in 3d local view, and missing update when toggling hiding
in the outliner.
Diffstat (limited to 'intern/cycles/blender/blender_util.h')
-rw-r--r--intern/cycles/blender/blender_util.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h
index b5a76836bed..ebbd4e1221c 100644
--- a/intern/cycles/blender/blender_util.h
+++ b/intern/cycles/blender/blender_util.h
@@ -166,6 +166,28 @@ static inline uint get_layer(BL::Array<int, 20> array)
return layer;
}
+static inline uint get_layer(BL::Array<int, 20> array, BL::Array<int, 8> local_array, bool is_light = false)
+{
+ uint layer = 0;
+
+ for(uint i = 0; i < 20; i++)
+ if(array[i])
+ layer |= (1 << i);
+
+ if(is_light) {
+ /* consider lamps on all local view layers */
+ for(uint i = 0; i < 8; i++)
+ layer |= (1 << (20+i));
+ }
+ else {
+ for(uint i = 0; i < 8; i++)
+ if(local_array[i])
+ layer |= (1 << (20+i));
+ }
+
+ return layer;
+}
+
#if 0
static inline float3 get_float3(PointerRNA& ptr, const char *name)
{