[SOLVED] YafaRay - Objects disappearing in Blender DAG zero... not allowed to happe

Hello,

This is a very important information about a problem I had recently where all objects in the Blender file disappeared when doing some tests in Blender 2.79. I’m not sure yet where the problem is, but you could lose all your work, be careful and take regular backups of your files.

I don’t know if this is a bug in Blender 2.79 or in the interface between Blender and YafaRay. If you have experienced this problem when you were using Blender Internal or Cycles (and not YafaRay) please let me know.

More info here:

http://www.yafaray.org/node/819

Thats in depsgraph.c line 2012 ff.

/* flushes all recalc flags in objects down the dependency tree */
void DAG_scene_flush_update(Main *bmain, Scene *sce, unsigned int lay, const short time)
{
    DagNode *firstnode;
    DagAdjList *itA;
    Object *ob;
    int lasttime;

    if (!DEG_depsgraph_use_legacy()) {
        DEG_scene_flush_update(bmain, sce);
        return;
    }

    if (sce->theDag == NULL || sce->theDag->need_update) {
        printf("DAG zero... not allowed to happen!
");
        DAG_scene_relations_update(bmain, sce);
    }
.......

Solutions: 1. use new DG, ( see if (!DEG_depsgraph_use_legacy()) { )
or 2. Check yaf nodes/objects handling.

Jens

Hello,

Thankfully the user “pouar” has found the problem in a change in Blender that made “do_unlink” enabled by default. A few changes to the Exporter are enough to fix the problem.

For more information see: http://www.yafaray.org/node/819#comment-1920

And pouar’s changes to fix this are to edit /io/yaf_object.py and replace all lines:

bpy.data.meshes.remove(mesh)

by:

bpy.data.meshes.remove(mesh, do_unlink=False)

That was enough to solve the problem for me. I hope this also helps you, it’s a simple change you can make to your existing YafaRay versions :slight_smile:

I will include these changes in the next YafaRay versions.

Hello,

New builds with this problem solved: http://www.yafaray.org/daily_builds/index.html?refresh=1

hi David,
to get same light levels as cycles,corona etc yafaray mesh light has to be set to about 0.3 power.so emitter visible is darker -this leads to wrong reflection.


Hello,

As this is unrelated to the original problem in this post (DAG and objects disappearing) would you mind please to create a separate forum thread for this and move your post there? Also if you could add there a .blend file that would help as well. Thanks!

o.k. i have reposted this under "YafaRay news: v3.3.0 released "(Latest News) - https://blenderartists.org/forum/showthread.php?436598-YafaRay-news-v3-3-0-released

Thank you, Remade!