[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27329] trunk/blender/source/blender/ blenkernel/intern/depsgraph.c: Depsgraph: always execute scene camera as if it was on a visible layer,
Brecht Van Lommel
brecht at blender.org
Mon Mar 8 16:21:39 CET 2010
Revision: 27329
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27329
Author: blendix
Date: 2010-03-08 16:21:39 +0100 (Mon, 08 Mar 2010)
Log Message:
-----------
Depsgraph: always execute scene camera as if it was on a visible layer,
because even if it is not it can still affect the 3d view or render.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/depsgraph.c
Modified: trunk/blender/source/blender/blenkernel/intern/depsgraph.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/depsgraph.c 2010-03-08 14:35:38 UTC (rev 27328)
+++ trunk/blender/source/blender/blenkernel/intern/depsgraph.c 2010-03-08 15:21:39 UTC (rev 27329)
@@ -1925,15 +1925,33 @@
sce->theDag->time++; // so we know which nodes were accessed
lasttime= sce->theDag->time;
-
+ /* update layer flags in nodes */
for(base= sce->base.first; base; base= base->next) {
node= dag_get_node(sce->theDag, base->object);
- if(node)
- node->scelay= base->object->lay;
- else
- node->scelay= 0;
+ node->scelay= base->object->lay;
}
+ /* ensure cameras are set as if they are on a visible layer, because
+ they ared still used for rendering or setting the camera view */
+ if(sce->camera) {
+ node= dag_get_node(sce->theDag, sce->camera);
+ node->scelay= lay;
+ }
+
+#ifdef DURIAN_CAMERA_SWITCH
+ {
+ TimeMarker *m;
+
+ for(m= sce->markers.first; m; m= m->next) {
+ if(m->camera) {
+ node= dag_get_node(sce->theDag, sce->camera);
+ node->scelay= lay;
+ }
+ }
+ }
+#endif
+
+ /* flush layer nodes to dependencies */
for(itA = firstnode->child; itA; itA= itA->next)
if(itA->node->lasttime!=lasttime && itA->node->type==ID_OB)
flush_layer_node(sce, itA->node, lasttime);
More information about the Bf-blender-cvs
mailing list