Page MenuHome

Fix T84250: Eevee world/material parameter animation not updating the viewport
ClosedPublic

Authored by Philipp Oeser (lichtwerk) on Dec 30 2020, 2:51 PM.

Details

Summary

The WORLD_UPDATE operation (needed to free the gpu material) was already
defined in DepsgraphNodeBuilder::build_world, but corresponding relation
was only set up for changes in the nodetree, not for changes in the
world/material itself in DepsgraphRelationBuilder::build_world.
Direct changes to these surface properties in the UI were updating
properly through RNA property update callbacks, but these are not called
from the animation system.

So now add these relations in the depsgraph.

Not 100% sure this is the right place for this (since e.g. eevee engine
seems to handle e.g. animated light paramters just fine through
EEVEE_cache_populate / eevee_light_setup, but properly freeing gpu
materials wont happen for worlds in e.g eevee_id_world_update and also
not for materials)

Diff Detail

Repository
rB Blender

Event Timeline

Philipp Oeser (lichtwerk) requested review of this revision.Dec 30 2020, 2:51 PM

From reading the change it seems fine and makes sense.

Wouldn't mind if extra eyes from Sybren and Clement double-checked though.

This revision is now accepted and ready to land.Jan 11 2021, 3:59 PM