Dependancy missing while building depsgraph for particle systems.
fix: adding a relation texture->particles when texture has animation data.
Reviewed By: sergey
Maniphest Tasks: T76251
Differential Revision: https://developer.blender.org/D7573
The fix was actually missing few bits:
- Firstly, the operator itself is not to do UNDO push
- Secondly, multires sculpt/top level are not pushed to the undo
node, so undo can not happen reliably.
It should be possible to incorporate some of the work from WIP patch
for propagation undo, but it needs more work.
Reverting code base to the previous state, since currently things
are actually a bit more confusing then they used to be.
This reverts commit 0c928087a3.
We set the default buffer size for strict buffers to 0. This increased
the performance on intel but reduced the performance on old AMD cards.
This patch sets back the default buffer size for strict buffers. After
testing I didn't detect a slow-down anymore.
Note that today new firmwares were pushed to the device what might fix
some issues.
Every code path through the `fcurve_eval_keyframes_interpolate()` function
has a valid `return` statement, but in debug mode GCC still doesn't like it.
The current clay strips brush has a huge dynamic range which is nice for
certain effects, but in some pen tablets it is quite hard to control on
the higher values and it ends up producing unwanted artifacts. This
changes the input curves a bit in an attempt to make it more
controllable.
After adding a brush management system I will expose all these values to
be configurable per brush (the round version of clay strips is a little
bit better with different curves, but that is something that we can't
support now), but for now this default are probably safer.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7524
This fixes an issue where an animated modifier property that's used as
variable in a driver wouldn't animate that driver's value.
Building the relations for the driver target creates the relation
`PARAMETERS_EVAL` → `DRIVER(variable)`. Building the relations for the
FCurve targeting the modifier property creates the relation
`ANIMATION_EXIT` → `GEOMETRY_EVAL_INIT`.
This means that there is NOT a relation `ANIMATION_EXIT` →
`PARAMETERS_EVAL`, and as a result, the driver is not properly updated
when its variable reads animated data. This is resolved in this commit
by adding the missing relation.
Differential Revision: https://developer.blender.org/D7615
While the name "Simulate" might be more accurate, there is
a naming collision with the new modifier added in D7549.
Therefore, we decided to rename the category for now.
Using BLI calls in this file triggered a condition where
poorly modelled dependencies in cmake (ie bf_blenlib using
zlib headers but not linking the libraries) leading to
linker error in debug builds of some of the tests.
This diff sidesteps the dependencies issue by using native
calls rather than BLI calls to check if a file exists and
what its size is. Effectively sweeping the issue right back
under the rug where I found it.
The best solution would be to audit all libraries and ensure
they have proper link requirements set, but that requires
significantly more time than I have available right now.
(zlib in blenlib was one of them and would have been easy
to fix, but there were others that required more work)
The alternative is tests that fail to build which worse.
I'll revisit this and fix it properly but for now this will
have to do.
- Changing API for time values from float to double for better precision.
- Fixing minor mistakes in the documentation.
- Fixing minor unnecessary large memory allocation.
- glyph_bounds: to get the character width.
- glyph_bearing: lower left character starting point.
These values are needed for more precise glyph calculations.
This fixes a freeze when closing temporary windows with `AMD Radeon HD 7570M`
The performance is practically the same between calls (with a micro advantage for `GL_STATIC_DRAW`)
I couldn't check the difference in memory usage.
The ideal would be profile in different setups.
But due to the seriousness of the bug, these tests were postponed.