Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/blender/blender_session.cpp
| Show First 20 Lines • Show All 492 Lines • ▼ Show 20 Lines | #endif | ||||
| */ | */ | ||||
| session->device_free(); | session->device_free(); | ||||
| delete sync; | delete sync; | ||||
| sync = NULL; | sync = NULL; | ||||
| } | } | ||||
| static void populate_bake_data(BakeData *data, BL::BakePixel pixel_array, const int num_pixels) | static void populate_bake_data(BL::RenderEngine b_engine, BakeData *data, BL::BakePixel pixel_array, const int num_pixels) | ||||
sergey: Is `b_engine` still needed here? | |||||
| { | { | ||||
| BL::BakePixel bp = pixel_array; | BL::BakePixel bp = pixel_array; | ||||
| int i; | int i; | ||||
| for(i=0; i < num_pixels; i++) { | for(i=0; i < num_pixels; i++) { | ||||
| data->set(i, bp.primitive_id(), bp.uv(), bp.du_dx(), bp.du_dy(), bp.dv_dx(), bp.dv_dy()); | data->set(i, bp.primitive_id(b_engine), bp.uv(), bp.du_dx(), bp.du_dy(), bp.dv_dx(), bp.dv_dy()); | ||||
| bp = bp.next(); | bp = bp.next(); | ||||
| } | } | ||||
| } | } | ||||
| void BlenderSession::bake(BL::Object b_object, const string& pass_type, BL::BakePixel pixel_array, const size_t num_pixels, const int depth, float result[]) | void BlenderSession::bake(BL::Object b_object, const string& pass_type, BL::BakePixel pixel_array, const size_t num_pixels, const int depth, float result[]) | ||||
| { | { | ||||
| ShaderEvalType shader_type = get_shader_type(pass_type); | ShaderEvalType shader_type = get_shader_type(pass_type); | ||||
| size_t object_index = OBJECT_NONE; | size_t object_index = OBJECT_NONE; | ||||
| ▲ Show 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | for(size_t i = 0; i < scene->objects.size(); i++) { | ||||
| } | } | ||||
| } | } | ||||
| /* when used, non-instanced convention: object = ~object */ | /* when used, non-instanced convention: object = ~object */ | ||||
| int object = ~object_index; | int object = ~object_index; | ||||
| BakeData *bake_data = scene->bake_manager->init(object, tri_offset, num_pixels); | BakeData *bake_data = scene->bake_manager->init(object, tri_offset, num_pixels); | ||||
| populate_bake_data(bake_data, pixel_array, num_pixels); | populate_bake_data(b_engine, bake_data, pixel_array, num_pixels); | ||||
| /* set number of samples */ | /* set number of samples */ | ||||
| session->tile_manager.set_samples(session_params.samples); | session->tile_manager.set_samples(session_params.samples); | ||||
| session->reset(buffer_params, session_params.samples); | session->reset(buffer_params, session_params.samples); | ||||
| session->update_scene(); | session->update_scene(); | ||||
| session->progress.set_update_callback(function_bind(&BlenderSession::update_bake_progress, this)); | session->progress.set_update_callback(function_bind(&BlenderSession::update_bake_progress, this)); | ||||
| ▲ Show 20 Lines • Show All 550 Lines • Show Last 20 Lines | |||||
Is b_engine still needed here?