[Bf-blender-cvs] [8118973] bake-cycles: Cycles-Bake: make sure film use_light_visibility is on since blender_session (just to be safe)
Dalai Felinto
noreply at git.blender.org
Wed Apr 23 02:46:55 CEST 2014
Commit: 8118973206e7bf8f84042f2ecca48c2f4fd984e9
Author: Dalai Felinto
Date: Thu Jan 23 15:33:21 2014 -0200
https://developer.blender.org/rB8118973206e7bf8f84042f2ecca48c2f4fd984e9
Cycles-Bake: make sure film use_light_visibility is on since blender_session (just to be safe)
===================================================================
M intern/cycles/blender/blender_session.cpp
M intern/cycles/kernel/kernel_displace.h
===================================================================
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp
index a241a35..814fb97 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -560,6 +560,25 @@ static void populate_bake_data(BakeData *data, BL::BakePixel pixel_array, const
}
}
+static bool is_light_pass(ShaderEvalType type)
+{
+ switch (type) {
+ case SHADER_EVAL_COMBINED:
+ case SHADER_EVAL_SHADOW:
+ case SHADER_EVAL_DIFFUSE_DIRECT:
+ case SHADER_EVAL_GLOSSY_DIRECT:
+ case SHADER_EVAL_TRANSMISSION_DIRECT:
+ case SHADER_EVAL_SUBSURFACE_DIRECT:
+ case SHADER_EVAL_DIFFUSE_INDIRECT:
+ case SHADER_EVAL_GLOSSY_INDIRECT:
+ case SHADER_EVAL_TRANSMISSION_INDIRECT:
+ case SHADER_EVAL_SUBSURFACE_INDIRECT:
+ return true;
+ default:
+ return false;
+ }
+}
+
void BlenderSession::bake(BL::Object b_object, const string& pass_type, BL::BakePixel pixel_array, int num_pixels, int depth, float result[])
{
ShaderEvalType shader_type = get_shader_type(pass_type);
@@ -581,6 +600,8 @@ void BlenderSession::bake(BL::Object b_object, const string& pass_type, BL::Bake
Pass::add(PASS_UV, scene->film->passes);
}
+ scene->film->use_light_visibility = is_light_pass(shader_type);
+
/* create device and update scene */
scene->film->tag_update(scene);
scene->integrator->tag_update(scene);
diff --git a/intern/cycles/kernel/kernel_displace.h b/intern/cycles/kernel/kernel_displace.h
index ef8c691..8783bd3 100644
--- a/intern/cycles/kernel/kernel_displace.h
+++ b/intern/cycles/kernel/kernel_displace.h
@@ -28,6 +28,7 @@ ccl_device void compute_light_pass(KernelGlobals *kg, ShaderData *sd, PathRadian
/* initialize */
float3 throughput = make_float3(1.0f, 1.0f, 1.0f);
+ assert(kernel_data.film.use_light_pass);
path_radiance_init(L, true);
/* TODO: copy bounce and other settings from scene */
More information about the Bf-blender-cvs
mailing list