Some GLSL compilers seem to not have problems with \ to break preprocessor
directives. I couldn't find other places with similar code, but fixing this
case by case is not ideal and the same issue may come up again.
I'm not sur how it ever worked before. There was no texture bound to these
sampdensity and sampflame when no volume simulation was happening.
This fixes the issue using 1x1x1 dummy textures.
In final rendering mode the display type was tested for
visibility flag. This should only occus when doing viewport
rendering
Reviewed By: fclem
Maniphest Tasks: T63056
Differential Revision: https://developer.blender.org/D4643
The issue is that Eevee directly evaluates animation on a datablock which
is a part of active dependency graph.
This is a broken logic by design and requires a complete revamp to support
more real life cases when camera is parented to a camera rig, but it is
beyond of what i can do with a simple bugfix.
This makes it easier to exclude a surface from casting shadows and can be
used to manipulate the shadows even for opaque surfaces.
Versionning ensure that old behavior is transfered to new rendering logic.
This was due to some shading resources not being bound for the shadow
shader. This commit completely remove the shading part when in a shadow
shader. Thus making it a bit more lightweight and removing the needed
sources.
This is to fix the slowdown issue experienced on windows when rendering
from command line.
Fix T59649 Eevee in command-line batch mode is slow with particles/duplis
When using LookDev in Quad view the cache was only updated for the first
Q-view. The evaluation data of the last cache was not stored with the
lightprobe textures. As the evaluation data was reused between the
Q-views only the lightprobe textures of the first view was updated.
With this patch the evaluated data is stored amongside the actual
lightprobe textures.
Fix T59046
Reviewed By: fclem
Maniphest Tasks: T59046
This fix saves the camera matrices in order to not call
BKE_animsys_evaluate_animdata during each draw loop. This function tags
the view as dirty even if the camera does not move.
This effectivly, avoids the constant reset of TAA.
Draw manager was checking for particles being enabled in viewport, but
actual evaluation was happening for render. Now the check in draw manager
properly follows current evaluation mode.
Additionally, de-duplicated some check, by moving everything needed to
a single place.
Annoying part is the const-cast, that could be cleaned up later by
modifying some underlying functions.