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 'source/blender/blenkernel/intern/scene.c')
-rw-r--r--source/blender/blenkernel/intern/scene.c140
1 files changed, 70 insertions, 70 deletions
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index e231fd53fe3..b4e7c14e30c 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -213,7 +213,7 @@ static void layer_collections_sync_flags(ListBase *layer_collections_dst, const
/* recreate the LayerCollection tree */
static void layer_collections_recreate(
- SceneLayer *sl_dst, ListBase *lb_src, SceneCollection *mc_dst, SceneCollection *mc_src)
+ ViewLayer *sl_dst, ListBase *lb_src, SceneCollection *mc_dst, SceneCollection *mc_src)
{
for (LayerCollection *lc_src = lb_src->first; lc_src; lc_src = lc_src->next) {
SceneCollection *sc_dst = scene_collection_from_new_tree(lc_src->scene_collection, mc_dst, mc_src);
@@ -251,34 +251,34 @@ void BKE_scene_copy_data(Main *bmain, Scene *sce_dst, const Scene *sce_src, cons
scene_collection_copy(mc_dst, mc_src, flag_subdata);
IDPropertyTemplate val = {0};
- BLI_duplicatelist(&sce_dst->render_layers, &sce_src->render_layers);
- for (SceneLayer *scene_layer_src = sce_src->render_layers.first, *scene_layer_dst = sce_dst->render_layers.first;
- scene_layer_src;
- scene_layer_src = scene_layer_src->next, scene_layer_dst = scene_layer_dst->next)
+ BLI_duplicatelist(&sce_dst->view_layers, &sce_src->view_layers);
+ for (ViewLayer *view_layer_src = sce_src->view_layers.first, *view_layer_dst = sce_dst->view_layers.first;
+ view_layer_src;
+ view_layer_src = view_layer_src->next, view_layer_dst = view_layer_dst->next)
{
- if (scene_layer_dst->id_properties != NULL) {
- scene_layer_dst->id_properties = IDP_CopyProperty_ex(scene_layer_dst->id_properties, flag_subdata);
+ if (view_layer_dst->id_properties != NULL) {
+ view_layer_dst->id_properties = IDP_CopyProperty_ex(view_layer_dst->id_properties, flag_subdata);
}
- BKE_freestyle_config_copy(&scene_layer_dst->freestyle_config, &scene_layer_src->freestyle_config, flag_subdata);
+ BKE_freestyle_config_copy(&view_layer_dst->freestyle_config, &view_layer_src->freestyle_config, flag_subdata);
- scene_layer_dst->stats = NULL;
- scene_layer_dst->properties_evaluated = NULL;
- scene_layer_dst->properties = IDP_New(IDP_GROUP, &val, ROOT_PROP);
- IDP_MergeGroup_ex(scene_layer_dst->properties, scene_layer_src->properties, true, flag_subdata);
+ view_layer_dst->stats = NULL;
+ view_layer_dst->properties_evaluated = NULL;
+ view_layer_dst->properties = IDP_New(IDP_GROUP, &val, ROOT_PROP);
+ IDP_MergeGroup_ex(view_layer_dst->properties, view_layer_src->properties, true, flag_subdata);
/* we start fresh with no overrides and no visibility flags set
* instead of syncing both trees we simply unlink and relink the scene collection */
- BLI_listbase_clear(&scene_layer_dst->layer_collections);
- BLI_listbase_clear(&scene_layer_dst->object_bases);
- BLI_listbase_clear(&scene_layer_dst->drawdata);
+ BLI_listbase_clear(&view_layer_dst->layer_collections);
+ BLI_listbase_clear(&view_layer_dst->object_bases);
+ BLI_listbase_clear(&view_layer_dst->drawdata);
- layer_collections_recreate(scene_layer_dst, &scene_layer_src->layer_collections, mc_dst, mc_src);
+ layer_collections_recreate(view_layer_dst, &view_layer_src->layer_collections, mc_dst, mc_src);
/* Now we handle the syncing for visibility, selectability, ... */
- layer_collections_sync_flags(&scene_layer_dst->layer_collections, &scene_layer_src->layer_collections);
+ layer_collections_sync_flags(&view_layer_dst->layer_collections, &view_layer_src->layer_collections);
- Object *active_ob = OBACT(scene_layer_src);
- for (Base *base_src = scene_layer_src->object_bases.first, *base_dst = scene_layer_dst->object_bases.first;
+ Object *active_ob = OBACT(view_layer_src);
+ for (Base *base_src = view_layer_src->object_bases.first, *base_dst = view_layer_dst->object_bases.first;
base_src;
base_src = base_src->next, base_dst = base_dst->next)
{
@@ -286,7 +286,7 @@ void BKE_scene_copy_data(Main *bmain, Scene *sce_dst, const Scene *sce_src, cons
base_dst->flag_legacy = base_src->flag_legacy;
if (base_dst->object == active_ob) {
- scene_layer_dst->basact = base_dst;
+ view_layer_dst->basact = base_dst;
}
}
}
@@ -410,7 +410,7 @@ Scene *BKE_scene_copy(Main *bmain, Scene *sce, int type)
rv = sce_copy->r.views;
curvemapping_free_data(&sce_copy->r.mblur_shutter_curve);
sce_copy->r = sce->r;
- sce_copy->active_layer = 0;
+ sce_copy->active_view_layer = 0;
sce_copy->r.views = rv;
sce_copy->unit = sce->unit;
sce_copy->physics_settings = sce->physics_settings;
@@ -508,8 +508,8 @@ Scene *BKE_scene_copy(Main *bmain, Scene *sce, int type)
if (type == SCE_COPY_FULL) {
/* Copy Freestyle LineStyle datablocks. */
- for (SceneLayer *scene_layer_dst = sce_copy->render_layers.first; scene_layer_dst; scene_layer_dst = scene_layer_dst->next) {
- for (FreestyleLineSet *lineset = scene_layer_dst->freestyle_config.linesets.first; lineset; lineset = lineset->next) {
+ for (ViewLayer *view_layer_dst = sce_copy->view_layers.first; view_layer_dst; view_layer_dst = view_layer_dst->next) {
+ for (FreestyleLineSet *lineset = view_layer_dst->freestyle_config.linesets.first; lineset; lineset = lineset->next) {
if (lineset->linestyle) {
/* XXX Not copying anim/actions here? */
BKE_id_copy_ex(bmain, (ID *)lineset->linestyle, (ID **)&lineset->linestyle, 0, false);
@@ -641,11 +641,11 @@ void BKE_scene_free_ex(Scene *sce, const bool do_id_user)
BKE_previewimg_free(&sce->preview);
curvemapping_free_data(&sce->r.mblur_shutter_curve);
- for (SceneLayer *sl = sce->render_layers.first, *sl_next; sl; sl = sl_next) {
+ for (ViewLayer *sl = sce->view_layers.first, *sl_next; sl; sl = sl_next) {
sl_next = sl->next;
- BLI_remlink(&sce->render_layers, sl);
- BKE_scene_layer_free(sl);
+ BLI_remlink(&sce->view_layers, sl);
+ BKE_view_layer_free(sl);
}
/* Master Collection */
@@ -1030,9 +1030,9 @@ void BKE_scene_init(Scene *sce)
BKE_layer_collection_engine_settings_create(sce->collection_properties);
sce->layer_properties = IDP_New(IDP_GROUP, &val, ROOT_PROP);
- BKE_scene_layer_engine_settings_create(sce->layer_properties);
+ BKE_view_layer_engine_settings_create(sce->layer_properties);
- BKE_scene_layer_add(sce, "Render Layer");
+ BKE_view_layer_add(sce, "Render Layer");
}
Scene *BKE_scene_add(Main *bmain, const char *name)
@@ -1053,8 +1053,8 @@ Scene *BKE_scene_add(Main *bmain, const char *name)
*/
bool BKE_scene_object_find(Scene *scene, Object *ob)
{
- for (SceneLayer *scene_layer = scene->render_layers.first; scene_layer; scene_layer = scene_layer->next) {
- if (BLI_findptr(&scene_layer->object_bases, ob, offsetof(Base, object))) {
+ for (ViewLayer *view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) {
+ if (BLI_findptr(&view_layer->object_bases, ob, offsetof(Base, object))) {
return true;
}
}
@@ -1063,8 +1063,8 @@ bool BKE_scene_object_find(Scene *scene, Object *ob)
Object *BKE_scene_object_find_by_name(Scene *scene, const char *name)
{
- for (SceneLayer *scene_layer = scene->render_layers.first; scene_layer; scene_layer = scene_layer->next) {
- for (Base *base = scene_layer->object_bases.first; base; base = base->next) {
+ for (ViewLayer *view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) {
+ for (Base *base = view_layer->object_bases.first; base; base = base->next) {
if (STREQ(base->object->id.name + 2, name)) {
return base->object;
}
@@ -1105,8 +1105,8 @@ void BKE_scene_set_background(Main *bmain, Scene *scene)
}
/* copy layers and flags from bases to objects */
- for (SceneLayer *scene_layer = scene->render_layers.first; scene_layer; scene_layer = scene_layer->next) {
- for (Base *base = scene_layer->object_bases.first; base; base = base->next) {
+ for (ViewLayer *view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) {
+ for (Base *base = view_layer->object_bases.first; base; base = base->next) {
ob = base->object;
/* group patch... */
BKE_scene_object_base_flag_sync_from_base(base);
@@ -1150,8 +1150,8 @@ int BKE_scene_base_iter_next(
/* the first base */
if (iter->phase == F_START) {
- SceneLayer *scene_layer = eval_ctx->scene_layer;
- *base = scene_layer->object_bases.first;
+ ViewLayer *view_layer = eval_ctx->view_layer;
+ *base = view_layer->object_bases.first;
if (*base) {
*ob = (*base)->object;
iter->phase = F_SCENE;
@@ -1160,9 +1160,9 @@ int BKE_scene_base_iter_next(
/* exception: empty scene layer */
while ((*scene)->set) {
(*scene) = (*scene)->set;
- SceneLayer *scene_layer_set = BKE_scene_layer_from_scene_get((*scene));
- if (scene_layer_set->object_bases.first) {
- *base = scene_layer_set->object_bases.first;
+ ViewLayer *view_layer_set = BKE_view_layer_from_scene_get((*scene));
+ if (view_layer_set->object_bases.first) {
+ *base = view_layer_set->object_bases.first;
*ob = (*base)->object;
iter->phase = F_SCENE;
break;
@@ -1181,9 +1181,9 @@ int BKE_scene_base_iter_next(
/* (*scene) is finished, now do the set */
while ((*scene)->set) {
(*scene) = (*scene)->set;
- SceneLayer *scene_layer_set = BKE_scene_layer_from_scene_get((*scene));
- if (scene_layer_set->object_bases.first) {
- *base = scene_layer_set->object_bases.first;
+ ViewLayer *view_layer_set = BKE_view_layer_from_scene_get((*scene));
+ if (view_layer_set->object_bases.first) {
+ *base = view_layer_set->object_bases.first;
*ob = (*base)->object;
break;
}
@@ -1264,8 +1264,8 @@ int BKE_scene_base_iter_next(
Scene *BKE_scene_find_from_collection(const Main *bmain, const SceneCollection *scene_collection)
{
for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
- for (SceneLayer *layer = scene->render_layers.first; layer; layer = layer->next) {
- if (BKE_scene_layer_has_collection(layer, scene_collection)) {
+ for (ViewLayer *layer = scene->view_layers.first; layer; layer = layer->next) {
+ if (BKE_view_layer_has_collection(layer, scene_collection)) {
return scene;
}
}
@@ -1509,25 +1509,25 @@ static void prepare_mesh_for_viewport_render(Main *bmain, Scene *scene)
}
}
-/* TODO(sergey): This actually should become scene_layer_graph or so.
+/* TODO(sergey): This actually should become view_layer_graph or so.
* Same applies to update_for_newframe.
*/
void BKE_scene_graph_update_tagged(EvaluationContext *eval_ctx,
Depsgraph *depsgraph,
Main *bmain,
Scene *scene,
- SceneLayer *scene_layer)
+ ViewLayer *view_layer)
{
/* TODO(sergey): Temporary solution for until pipeline.c is ported. */
- if (scene_layer == NULL) {
- scene_layer = DEG_get_evaluated_scene_layer(depsgraph);
- BLI_assert(scene_layer != NULL);
+ if (view_layer == NULL) {
+ view_layer = DEG_get_evaluated_view_layer(depsgraph);
+ BLI_assert(view_layer != NULL);
}
/* TODO(sergey): Some functions here are changing global state,
* for example, clearing update tags from bmain.
*/
/* (Re-)build dependency graph if needed. */
- DEG_graph_relations_update(depsgraph, bmain, scene, scene_layer);
+ DEG_graph_relations_update(depsgraph, bmain, scene, view_layer);
/* Uncomment this to check if graph was properly tagged for update. */
// DEG_debug_graph_relations_validate(depsgraph, bmain, scene);
/* Flush editing data if needed. */
@@ -1551,12 +1551,12 @@ void BKE_scene_graph_update_for_newframe(EvaluationContext *eval_ctx,
Depsgraph *depsgraph,
Main *bmain,
Scene *scene,
- SceneLayer *scene_layer)
+ ViewLayer *view_layer)
{
/* TODO(sergey): Temporary solution for until pipeline.c is ported. */
- if (scene_layer == NULL) {
- scene_layer = DEG_get_evaluated_scene_layer(depsgraph);
- BLI_assert(scene_layer != NULL);
+ if (view_layer == NULL) {
+ view_layer = DEG_get_evaluated_view_layer(depsgraph);
+ BLI_assert(view_layer != NULL);
}
/* TODO(sergey): Some functions here are changing global state,
* for example, clearing update tags from bmain.
@@ -1573,7 +1573,7 @@ void BKE_scene_graph_update_for_newframe(EvaluationContext *eval_ctx,
*/
BKE_image_update_frame(bmain, scene->r.cfra);
BKE_sound_set_cfra(scene->r.cfra);
- DEG_graph_relations_update(depsgraph, bmain, scene, scene_layer);
+ DEG_graph_relations_update(depsgraph, bmain, scene, view_layer);
/* Update animated cache files for modifiers.
*
* TODO(sergey): Make this a depsgraph node?
@@ -1678,22 +1678,22 @@ float get_render_aosss_error(const RenderData *r, float error)
}
/**
- * Helper function for the SETLOOPER and SETLOOPER_SCENE_LAYER macros
+ * Helper function for the SETLOOPER and SETLOOPER_VIEW_LAYER macros
*
* It iterates over the bases of the active layer and then the bases
* of the active layer of the background (set) scenes recursively.
*/
-Base *_setlooper_base_step(Scene **sce_iter, SceneLayer *scene_layer, Base *base)
+Base *_setlooper_base_step(Scene **sce_iter, ViewLayer *view_layer, Base *base)
{
if (base && base->next) {
/* Common case, step to the next. */
return base->next;
}
- else if ((base == NULL) && (scene_layer != NULL)) {
+ else if ((base == NULL) && (view_layer != NULL)) {
/* First time looping, return the scenes first base. */
/* For the first loop we should get the layer from workspace when available. */
- if (scene_layer->object_bases.first) {
- return (Base *)scene_layer->object_bases.first;
+ if (view_layer->object_bases.first) {
+ return (Base *)view_layer->object_bases.first;
}
/* No base on this scene layer. */
goto next_set;
@@ -1702,8 +1702,8 @@ Base *_setlooper_base_step(Scene **sce_iter, SceneLayer *scene_layer, Base *base
next_set:
/* Reached the end, get the next base in the set. */
while ((*sce_iter = (*sce_iter)->set)) {
- SceneLayer *scene_layer_set = BKE_scene_layer_from_scene_get((*sce_iter));
- base = (Base *)scene_layer_set->object_bases.first;
+ ViewLayer *view_layer_set = BKE_view_layer_from_scene_get((*sce_iter));
+ base = (Base *)view_layer_set->object_bases.first;
if (base) {
return base;
@@ -1751,9 +1751,9 @@ bool BKE_scene_uses_blender_eevee(const Scene *scene)
return BKE_viewrender_uses_blender_eevee(&scene->view_render);
}
-void BKE_scene_base_flag_to_objects(SceneLayer *scene_layer)
+void BKE_scene_base_flag_to_objects(ViewLayer *view_layer)
{
- Base *base = scene_layer->object_bases.first;
+ Base *base = view_layer->object_bases.first;
while (base) {
BKE_scene_object_base_flag_sync_from_base(base);
@@ -2238,7 +2238,7 @@ int BKE_scene_multiview_num_videos_get(const RenderData *rd)
/* This is a key which identifies depsgraph. */
typedef struct DepsgraphKey {
- SceneLayer *scene_layer;
+ ViewLayer *view_layer;
/* TODO(sergey): Need to include window somehow (same layer might be in a
* different states in different windows).
*/
@@ -2247,7 +2247,7 @@ typedef struct DepsgraphKey {
static unsigned int depsgraph_key_hash(const void *key_v)
{
const DepsgraphKey *key = key_v;
- unsigned int hash = BLI_ghashutil_ptrhash(key->scene_layer);
+ unsigned int hash = BLI_ghashutil_ptrhash(key->view_layer);
/* TODO(sergey): Include hash from other fields in the key. */
return hash;
}
@@ -2257,7 +2257,7 @@ static bool depsgraph_key_compare(const void *key_a_v, const void *key_b_v)
const DepsgraphKey *key_a = key_a_v;
const DepsgraphKey *key_b = key_b_v;
/* TODO(sergey): Compare rest of */
- return !(key_a->scene_layer == key_b->scene_layer);
+ return !(key_a->view_layer == key_b->view_layer);
}
static void depsgraph_key_free(void *key_v)
@@ -2299,11 +2299,11 @@ void BKE_scene_free_depsgraph_hash(Scene *scene)
/* Query depsgraph for a specific contexts. */
Depsgraph *BKE_scene_get_depsgraph(Scene *scene,
- SceneLayer *scene_layer,
+ ViewLayer *view_layer,
bool allocate)
{
BLI_assert(scene != NULL);
- BLI_assert(scene_layer != NULL);
+ BLI_assert(view_layer != NULL);
/* Make sure hash itself exists. */
if (allocate) {
BKE_scene_ensure_depsgraph_hash(scene);
@@ -2315,7 +2315,7 @@ Depsgraph *BKE_scene_get_depsgraph(Scene *scene,
* depending on whether caller wants us to create depsgraph or not.
*/
DepsgraphKey key;
- key.scene_layer = scene_layer;
+ key.view_layer = view_layer;
Depsgraph *depsgraph;
if (allocate) {
DepsgraphKey **key_ptr;