[Bf-blender-cvs] [a9a961a] bake-cycles: Cycles-Bake: fix for multiple-objects scene
Dalai Felinto
noreply at git.blender.org
Wed Apr 23 02:47:07 CEST 2014
Commit: a9a961af2bfa8e68b484d01d7fdfa48ff89d53cf
Author: Dalai Felinto
Date: Fri Feb 7 11:41:49 2014 -0200
https://developer.blender.org/rBa9a961af2bfa8e68b484d01d7fdfa48ff89d53cf
Cycles-Bake: fix for multiple-objects scene
I was creating the object index when the scene didnt have the info of all the objects yet
===================================================================
M intern/cycles/blender/blender_session.cpp
===================================================================
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp
index 3f7eab4..c1a04f2 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -515,19 +515,9 @@ static bool is_light_pass(ShaderEvalType type)
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);
-
- /* find object index. todo: is arbitrary - copied from mesh_displace.cpp */
size_t object_index = ~0;
int tri_offset = 0;
- for(size_t i = 0; i < scene->objects.size(); i++) {
- if(strcmp(scene->objects[i]->name.c_str(), b_object.name().c_str()) == 0) {
- object_index = i;
- tri_offset = scene->objects[i]->mesh->tri_offset;
- break;
- }
- }
-
if (shader_type == SHADER_EVAL_UV) {
/* force UV to be available */
Pass::add(PASS_UV, scene->film->passes);
@@ -555,6 +545,15 @@ void BlenderSession::bake(BL::Object b_object, const string& pass_type, BL::Bake
session->reset(buffer_params, session_params.samples);
session->update_scene();
+ /* find object index. todo: is arbitrary - copied from mesh_displace.cpp */
+ for (size_t i = 0; i < scene->objects.size(); i++) {
+ if (strcmp(scene->objects[i]->name.c_str(), b_object.name().c_str()) == 0) {
+ object_index = i;
+ tri_offset = scene->objects[i]->mesh->tri_offset;
+ break;
+ }
+ }
+
/* when used, non-instanced convention: object = ~object */
int object = ~object_index;
More information about the Bf-blender-cvs
mailing list