Age | Commit message (Collapse) | Author |
|
Matches mul_m3_v3
|
|
|
|
|
|
Having that extra ID users handling at readfile level, besides generic
one ensured by libquery, has been something bothering me for a long time
(had to fix my share of bugs due to mismatches between those two areas).
Further more, work on undo speedup will require even more complex ID
refcount management if we want to keep it in readfile.c area.
So idea is instead to generalize what we did for linked data already
when undoing: recompute properly usercount numbers after liblink step,
for all IDs.
Note that extra time required here is neglectable in a whole .blend file
reading (few extra milliseconds when loading a full production scene
e.g.).
Notes:
* Some deprecated data (IPOs) are not refcounted at all anymore, this
should not be an issue in pratice since the are supposed to get deleted
after doversion anyway.
* Refcounting happens after `do_versions_after_linking`, i.e those
functions won't get valid ID usercounts currently. Again, this is not a
problem in current code, if needed we could recompute refcount before,
and then ensure `do_versions_after_linoiing()` actually handles properly
usercount, which it does not currently.
Differential Revision: https://developer.blender.org/D6881
|
|
Only use the hack in `key_block_get_data` for the bmesh shapekey.
The remaining shapekeys can use the original offset values.
Differential Revision: https://developer.blender.org/D6516
|
|
The actual naming might also be a subject to change, especially the one
around `level`. Tricky part here is that at some point in the API there
will be change from Blender modifier's Quality to OpenSubdiv's Level,
but which API level is most suitable for this?
At least now meaning of settings is better documented ans should be
clear what's going on.
|
|
Some users reported that the previous red color of the cursor was too
saturated and that can be distracting.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D6828
|
|
Slide/Relax is a deform tool, so the color should be yellow.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D6827
|
|
|
|
|
|
This does not seem to be an actual issue in current master code (as
creating a new ID will assign 1 user to it by default), but is breaking
generic usercount handling in future changes.
|
|
|
|
Handling those through different ways /might/ be needed sometimes, but
in most case this is just a nest of issues, since you can easily forget
to take them into account.
Note that this should be a 'non-functional' change, as this new behavior
is not used anywhere yet.
|
|
|
|
Each image that goes through preprocessing is already duplicated in `input_preprocess()`
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D6790
|
|
Use gpu batch drawing for cache content in VSE.
Immediate drawing caused significant dorp in framerate.
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D6835
|
|
This node provides the ability to rotate a vector around a `center` point using either `Axis Angle` , `Single Axis` or `Euler` methods.
Reviewed By: #cycles, brecht
Differential Revision: https://developer.blender.org/D3789
|
|
Once again those crappy weirdos IDs with their crappy weirdos 'loopback'
pointers...
This is a quick hack for now, think id_copy needs to be reworked a bit
to supported re-entrant sub-ID copying (also an issue with nodes I bet).
|
|
* Direction mode X, Y and Z to align with axes rather than diagonal or
spherical as previously. X is the new default, existing files will
use diagonal or spherical for compatibility.
* Phase offset to offset the wave along its direction, for purposes like
animation and distortion.
https://developer.blender.org/D6382
|
|
|
|
Ref T73747
|
|
|
|
|
|
|
|
Steps to reproduce were:
* Add new (empty) scene
* Add some mesh object
* Change to texture paint mode
While it can be argued that we should already init the settings when
creating a new scene (so that the texture tab can show up),
BKE_paint_init() should always ensure paint settings are initialized
either way.
Related to T73611.
|
|
The Alembic importer now works with local coordinates. Previously, the
importer converted transformations from Alembic to world coordinates
before processing them further; this processing often included
re-converting to local coordinates. This change made it possible to
remove some code that assumed that a child transform was only read after
its parent transform.
Blender's Alembic code follows the Maya convention, where in the zero
orientation the camera looks forward instead of down. This extra
rotation is now handled more consistently, and now also properly handles
children of cameras. This fixes T73269.
Unit tests were added to at least ensure that the importer and exporter
are compatible with each other, and that static and animated camera
transforms are handled in the same way.
|
|
Various fixes for smoke / fire flow objects:
- Apply inflow at every subframe (new: also emit during adaptive steps in between frames)
- Fix issue with fire not being emitted on first frame
- Higher value range for smoke flow density variable
|
|
This makes libquery usable during blendfile reading phases.
Some pointers that shall never be NULL in modern Main database did not
exist before.
|
|
Needed to avoid double fix of sun lights bias.
|
|
|
|
This master_collection thing is really, really annoyingly spreading all
over the place...
|
|
In some cases it's important to always have a proper ID as reference,
e.g. whene generating data supposed to represent main data-base...
|
|
Using a struct here allows to change given parameters to the callbacks
without having to edit all callbacks functions, which is always noisy
and time consuming.
|
|
15% to 20% improvement in cloth simulation performance with
self-collision.
The idea is to reduce the number of collisions computed by avoiding
overlapping tris with the same combination (eg. (1,0) and (0,1)).
Reviewed By: zeddb
Differential Revision: https://developer.blender.org/D6474
|
|
|
|
CacheEditrPathsIterData and PTCacheEdit
Followup to 80cecee5b7c8.
ref D6725
|
|
|
|
This enables an extra layer of control in the sculpt brushes.
For now it is enabled only in Scrape, but it should work in all brushes (like normal radius). In the future it may also be enabled in other brushes.
You can tweak in this property in the scrape brush to achieve a much better behavior when working on curve surfaces and control how much volume you want to trim. In most cases, it also fixes the bug where the brush keeps trimming in the same area without disabling accumulate.
It should be possible to fix some other artifacts in other brushes by tweaking this default property.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D5993
|
|
This patch allow to change the brush tip shape between a square and a
circle using a brush property.
After this change we are no longer testing the distance against a cube
(the Z axis is not used). I did not test this in depth, but if it does
not produce any artifacts I think we can keep it this way instead of
adding more complexity to the code.
In this new distance test the brush falloff is only applied on the
rounded parts of the square to avoid sharp artifacts in the
diagonals. Because of this, the round version is much softer than
the square one. The planned hardness property will fix this, but
this can also be avoided by setting the fallof to a custom curve.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6165
|
|
The IK chain was using an anchor point by default as it makes sense for
posing, but for creating curved shapes it is useful to be able to
disable it.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6584
|
|
This brush simulates deforming clay with your fingers, accumulating
material during the stroke. It has a plane that tilts during the stroke
in the front part of the brush to achieve this effect.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6238
|
|
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D6375
|
|
ss->multires is set in sculpt_update_object, which is not called just
after disabling dyntopo, so it needs to be checked before running
reshapeFromCCG
Reviewed By: campbellbarton, brecht
Maniphest Tasks: T73706
Differential Revision: https://developer.blender.org/D6801
|
|
While the file in this report had corrupted values,
this is avoidable without adding any extra overhead.
Use unsigned vertex group indices since we don't need negative values,
this is an alternative to checking they aren't negative in many places.
Vertex group values over INT_MAX is still considered invalid,
so any accidental unsigned wrapping won't be silently ignored.
|
|
|
|
|
|
pqrt of T72604.
|
|
Even though we do not have much of those, this might change in the
future, and in any case having specific functions for this ID type in
generic `BKE_lib` area was really confusing.
|
|
Forgot to update those in recent `BKE_lib_` files renames.
|
|
|