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:
Diffstat (limited to 'intern/cycles/blender/blender_sync.cpp')
-rw-r--r--intern/cycles/blender/blender_sync.cpp63
1 files changed, 23 insertions, 40 deletions
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 148db9fc3cf..bf35f61f07b 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -44,17 +44,13 @@ CCL_NAMESPACE_BEGIN
BlenderSync::BlenderSync(BL::RenderEngine& b_engine,
BL::BlendData& b_data,
- BL::Depsgraph& b_depsgraph,
BL::Scene& b_scene,
- BL::ViewLayer& b_view_layer,
Scene *scene,
bool preview,
Progress &progress)
: b_engine(b_engine),
b_data(b_data),
- b_depsgraph(b_depsgraph),
b_scene(b_scene),
- b_view_layer(b_view_layer),
shader_map(&scene->shaders),
object_map(&scene->objects),
mesh_map(&scene->meshes),
@@ -193,16 +189,18 @@ bool BlenderSync::sync_recalc()
}
void BlenderSync::sync_data(BL::RenderSettings& b_render,
+ BL::Depsgraph& b_depsgraph,
BL::SpaceView3D& b_v3d,
BL::Object& b_override,
int width, int height,
- void **python_thread_state,
- const char *layer)
+ void **python_thread_state)
{
- sync_view_layers(b_v3d, layer);
+ BL::ViewLayer b_view_layer = b_depsgraph.view_layer();
+
+ sync_view_layer(b_v3d, b_view_layer);
sync_integrator();
sync_film();
- sync_shaders();
+ sync_shaders(b_depsgraph);
sync_images();
sync_curve_settings();
@@ -212,9 +210,10 @@ void BlenderSync::sync_data(BL::RenderSettings& b_render,
scene->need_motion() == Scene::MOTION_NONE ||
scene->camera->motion_position == Camera::MOTION_POSITION_CENTER)
{
- sync_objects();
+ sync_objects(b_depsgraph);
}
sync_motion(b_render,
+ b_depsgraph,
b_override,
width, height,
python_thread_state);
@@ -373,47 +372,31 @@ void BlenderSync::sync_film()
/* Render Layer */
-void BlenderSync::sync_view_layers(BL::SpaceView3D& b_v3d, const char *layer)
+void BlenderSync::sync_view_layer(BL::SpaceView3D& /*b_v3d*/, BL::ViewLayer& b_view_layer)
{
- string layername;
-
- /* 3d view */
- if(b_v3d) {
- layername = b_scene.view_layers.active().name();
- layer = layername.c_str();
- }
-
/* render layer */
- BL::Scene::view_layers_iterator b_view_layer;
- bool first_layer = true;
uint layer_override = get_layer(b_engine.layer_override());
uint view_layers = layer_override ? layer_override : get_layer(b_scene.layers());
- for(b_scene.view_layers.begin(b_view_layer); b_view_layer != b_scene.view_layers.end(); ++b_view_layer) {
- if((!layer && first_layer) || (layer && b_view_layer->name() == layer)) {
- view_layer.name = b_view_layer->name();
+ view_layer.name = b_view_layer.name();
- view_layer.holdout_layer = 0;
- view_layer.exclude_layer = 0;
+ view_layer.holdout_layer = 0;
+ view_layer.exclude_layer = 0;
- view_layer.view_layer = view_layers & ~view_layer.exclude_layer;
- view_layer.view_layer |= view_layer.exclude_layer & view_layer.holdout_layer;
+ view_layer.view_layer = view_layers & ~view_layer.exclude_layer;
+ view_layer.view_layer |= view_layer.exclude_layer & view_layer.holdout_layer;
- view_layer.layer = (1 << 20) - 1;
- view_layer.layer |= view_layer.holdout_layer;
+ view_layer.layer = (1 << 20) - 1;
+ view_layer.layer |= view_layer.holdout_layer;
- view_layer.material_override = PointerRNA_NULL;
- view_layer.use_background_shader = b_view_layer->use_sky();
- view_layer.use_background_ao = b_view_layer->use_ao();
- view_layer.use_surfaces = b_view_layer->use_solid();
- view_layer.use_hair = b_view_layer->use_strand();
+ view_layer.material_override = PointerRNA_NULL;
+ view_layer.use_background_shader = b_view_layer.use_sky();
+ view_layer.use_background_ao = b_view_layer.use_ao();
+ view_layer.use_surfaces = b_view_layer.use_solid();
+ view_layer.use_hair = b_view_layer.use_strand();
- view_layer.bound_samples = false;
- view_layer.samples = 0;
- }
-
- first_layer = false;
- }
+ view_layer.bound_samples = false;
+ view_layer.samples = 0;
}
/* Images */