diff options
author | IRIE Shinsuke <irieshinsuke@yahoo.co.jp> | 2014-05-29 09:53:33 +0400 |
---|---|---|
committer | IRIE Shinsuke <irieshinsuke@yahoo.co.jp> | 2014-05-30 03:22:44 +0400 |
commit | 54e054cce4b013bc70df56059bf0fcd4bfee9827 (patch) | |
tree | 41f5de11763ed0de0e54a5c190b5fe404865d0e1 /source/blender/gpu/intern/gpu_material.c | |
parent | 53424ec0ff664829ff4973a013f605d342838d21 (diff) |
Followup to rB1973b17fce65, partially bring back GLSL lamp's previous behavior.
Using layer visibility in active render layer makes more accurate
preview but can cause problems in some cases:
https://developer.blender.org/rB1973b17fce65a4dfececb45b19abec37898c1ab5#comment-1
GLSL lamps now ignore layer visibility if lock_camera_and_layers is
OFF or game engine is running. The material lamp group still works
unconditionally though.
Diffstat (limited to 'source/blender/gpu/intern/gpu_material.c')
-rw-r--r-- | source/blender/gpu/intern/gpu_material.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/gpu/intern/gpu_material.c b/source/blender/gpu/intern/gpu_material.c index d7fa36a2028..5594c085974 100644 --- a/source/blender/gpu/intern/gpu_material.c +++ b/source/blender/gpu/intern/gpu_material.c @@ -270,13 +270,13 @@ bool GPU_lamp_override_visible(GPULamp *lamp, SceneRenderLayer *srl, Material *m return true; } -void GPU_material_bind(GPUMaterial *material, int oblay, int viewlay, double time, int mipmap, float viewmat[4][4], float viewinv[4][4]) +void GPU_material_bind(GPUMaterial *material, int oblay, int viewlay, double time, int mipmap, float viewmat[4][4], float viewinv[4][4], bool scenelock) { if (material->pass) { LinkData *nlink; GPULamp *lamp; GPUShader *shader = GPU_pass_shader(material->pass); - SceneRenderLayer *srl = BLI_findlink(&material->scene->r.layers, material->scene->r.actlay); + SceneRenderLayer *srl = scenelock ? BLI_findlink(&material->scene->r.layers, material->scene->r.actlay) : NULL; if (srl) viewlay &= srl->lay; |