Blender Git Loki

Git Commits -> Revision c403793

June 11, 2019, 09:18 (GMT)
Fix volume not visible in render with "hide volume"

This fixes an issue that caused volumes to disappear in renders when the
"hide volume" or "hide uunselected" display options are enabled.

The issue was that the modifier is called prior to rendering, with the
"MOD_APPLY_RENDER" flag, as expected. However immediately after, and
while still rendering, the modifier is called again, without the render
flag, causing it to be recomputed as it should be for the viewport
display. This happens because Blender allows you to work while
rendering, and thus the display version of the modifiers has to be
computed.

The issue is of course that while this is not a problem for meshes, as
they are copied and passed along the modifier stack, data which is read
directly (such as volume data), is still subject to side-effects.

This commit prevents the modifier from updating the data while a render
is in progress, thus keeping the render data intact. This unfortunately
causes the minor side-effect of full resolution smoke being displayed in
the viewport after rendering, even when the "simplify" option is used.
Note however that this causes no extra data loading, and thus
performance is unaffected. Also note that the hiding options don't
suffer from this side effect, and so if the volume is hidden, it's
hidden state will still be in effect after the render, as hiding does
not rely on the cache being reloaded.

Commit Details:

Full Hash: c40379349ca92828efc64811e60e47a2760dbd33
Parent Commit: a1db206
Committed By: Stefan Werner
Lines Changed: +11, -0

3 Modified Paths:

/source/blender/blenkernel/intern/pointcache.c (+6, -0) (Diff)
/source/blender/makesdna/DNA_modifier_types.h (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_openvdb.c (+4, -0) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021