[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14473] trunk/blender/source/blender: fix for [#8236] Lens Change by driver won't update in 3d View
Campbell Barton
ideasman42 at gmail.com
Sat Apr 19 04:19:47 CEST 2008
Revision: 14473
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14473
Author: campbellbarton
Date: 2008-04-19 04:19:46 +0200 (Sat, 19 Apr 2008)
Log Message:
-----------
fix for [#8236] Lens Change by driver won't update in 3d View
Lamps would not update either.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/depsgraph.c
trunk/blender/source/blender/blenkernel/intern/object.c
trunk/blender/source/blender/render/intern/source/initrender.c
Modified: trunk/blender/source/blender/blenkernel/intern/depsgraph.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/depsgraph.c 2008-04-18 23:23:43 UTC (rev 14472)
+++ trunk/blender/source/blender/blenkernel/intern/depsgraph.c 2008-04-19 02:19:46 UTC (rev 14473)
@@ -46,6 +46,7 @@
#include "DNA_effect_types.h"
#include "DNA_group_types.h"
#include "DNA_lattice_types.h"
+#include "DNA_lamp_types.h"
#include "DNA_key_types.h"
#include "DNA_mesh_types.h"
#include "DNA_modifier_types.h"
@@ -494,11 +495,20 @@
}
if (ob->type==OB_CAMERA) {
Camera *cam = (Camera *)ob->data;
+ if (cam->ipo) {
+ dag_add_driver_relation(cam->ipo, dag, node, 1);
+ }
if (cam->dof_ob) {
node2 = dag_get_node(dag, cam->dof_ob);
dag_add_relation(dag,node2,node,DAG_RL_OB_OB, "Camera DoF");
}
}
+ if (ob->type==OB_LAMP) {
+ Lamp *la = (Lamp *)ob->data;
+ if (la->ipo) {
+ dag_add_driver_relation(la->ipo, dag, node, 1);
+ }
+ }
if (ob->transflag & OB_DUPLI) {
if((ob->transflag & OB_DUPLIGROUP) && ob->dup_group) {
GroupObject *go;
Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c 2008-04-18 23:23:43 UTC (rev 14472)
+++ trunk/blender/source/blender/blenkernel/intern/object.c 2008-04-19 02:19:46 UTC (rev 14473)
@@ -2224,6 +2224,16 @@
else if(ob->type==OB_LATTICE) {
lattice_calc_modifiers(ob);
}
+ else if(ob->type==OB_CAMERA) {
+ Camera *cam = (Camera *)ob->data;
+ calc_ipo(cam->ipo, frame_to_float(G.scene->r.cfra));
+ execute_ipo(&cam->id, cam->ipo);
+ }
+ else if(ob->type==OB_LAMP) {
+ Lamp *la = (Lamp *)ob->data;
+ calc_ipo(la->ipo, frame_to_float(G.scene->r.cfra));
+ execute_ipo(&la->id, la->ipo);
+ }
else if(ob->type==OB_ARMATURE) {
/* this happens for reading old files and to match library armatures with poses */
if(ob->pose==NULL || (ob->pose->flag & POSE_RECALC))
Modified: trunk/blender/source/blender/render/intern/source/initrender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/initrender.c 2008-04-18 23:23:43 UTC (rev 14472)
+++ trunk/blender/source/blender/render/intern/source/initrender.c 2008-04-19 02:19:46 UTC (rev 14473)
@@ -459,11 +459,7 @@
if(cam->type==CAM_ORTHO) re->r.mode |= R_ORTHO;
- /* solve this too... all time depending stuff is in convertblender.c? */
- if(cam->ipo) {
- calc_ipo(cam->ipo, frame_to_float(re->r.cfra));
- execute_ipo(&cam->id, cam->ipo);
- }
+ /* updating these values from ipo's/drivers is handeled by the depgraph */
lens= cam->lens;
shiftx=cam->shiftx;
shifty=cam->shifty;
More information about the Bf-blender-cvs
mailing list