Dependency order issue: Camera view was calculated before Camera Object
got evaluated for dependency changes, causing lags.
This commit is contained in:
Ton Roosendaal
2006-05-23 14:57:40 +00:00
parent ebe2958559
commit e5791fb40e

View File

@@ -2460,6 +2460,12 @@ void drawview3dspace(ScrArea *sa, void *spacedata)
Object *ob;
Scene *sce;
/* update all objects, ipos, matrices, displists, etc. Flags set by depgraph or manual,
no layer check here, gets correct flushed */
for(base= G.scene->base.first; base; base= base->next) {
object_handle_update(base->object); // bke_object.h
}
setwinmatrixview3d(sa->winx, sa->winy, NULL); /* 0= no pick rect */
setviewmatrixview3d(); /* note: calls where_is_object for camera... */
@@ -2562,31 +2568,6 @@ void drawview3dspace(ScrArea *sa, void *spacedata)
view3d_draw_transp(v3d, DRAW_CONSTCOLOR);
}
/* update all objects, ipos, matrices, displists, etc. Flags set by depgraph or manual, no layer check here, gets correct flushed */
for(base= G.scene->base.first; base; base= base->next) {
object_handle_update(base->object); // bke_object.h
#if 0
if(v3d->lay & base->lay) {
if(base->object->dup_group) {
GroupObject *go;
for(go= base->object->dup_group->gobject.first; go; go= go->next) {
if(go->ob) {
if(go->ob->type==OB_MESH) {
int dummy;
mesh_get_derived_deform(go->ob, &dummy);
mesh_get_derived_final(go->ob, &dummy);
}
else if(go->ob->type==OB_CURVE) {
cu= ob->data;
if (cu->disp.first==NULL) makeDispListCurveTypes(ob, 0);
}
}
}
}
}
#endif
}
/* then draw not selected and the duplis, but skip editmode object */
for(base= G.scene->base.first; base; base= base->next) {
if(v3d->lay & base->lay) {