This fixes the issue where sun shadowmaps needs a very big bias value to
make any difference.
The bias is now in world space and not dependant on shadow bounds.
Unfortunatelly this breaks compatibility with previous version and old
scene are likely to need user intervention to fix.
Also fixes the property range.
Fix T71661 EEVEE shadow from sun on incorrect face
Library data-blocks are supposed to be tagged as 'real user', i.e.
have one virtual user, since nothing else actually uses (refcounts)
them. That was done in liblink code, but not for newly added ID-LI IDs
when linking from a new libblend file e.g.
The current "Select Linked" operator works based on mouse position and
makes no sense to call from the menus and was removed in rBdd9dfadaac9b.
This patch adds an operator independent from mouse position that just
selects all keys to a corresponding point (and adds back menu entries,
adds keymap entry).
The original operator is renamed to 'select_linked_pick' internally
(this is now more in line to how "Select Linked" works for meshes,
curves etc)
Differential Revision: https://developer.blender.org/D6823
Regression in aa919f3e82
Remove character margins, it complicated drawing & picking
to have one margin in pixels and a second margin in characters.
Replace this with an outer pixel-margin for drawing background colors.
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly
enforced. This mode is available on MSVC 15.5+ [1]
This patch enables this mode on compilers that support it and cleans up the few violations it threw up in the process.
- Mantaflow was using M_PI without requesting them using the _USE_MATH_DEFINES define to opt in to non default behaviour.
- Collada did not include the right header for std::cerr, this seemingly was fixed for other platforms already but put inside a platform guard.
- Ghost had some scoping issues regarding uninitialized variables and goto behaviour
Second landing of this patch, earlier commit was reverted due to some compiler configurations having slipped though testing
[1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance
Differential Revision: https://developer.blender.org/D6824
Reviewed By: brecht
This allows for more flexibility in Compositing compared to the
hardcoded alpha-over that is currently used.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D6829
The introduction of python instancing for ID data in 2.80 completely
broke the 'smart & efficient' hack of using a same py object as key for
initial quick check, since rebuilding the RNAPointer in the
BPy_StructRNA would actually affect the py instance of the first ID used
to generate that py object...
TL;DR: No need for this complex and unclear optimization anymore, since
we do not actually rebuild a whole py object anymore every time we call
`pyrna_id_CreatePyObject()` from a same ID pointer.
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
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly
enforced. This mode is available on MSVC 15.5+ [1]
This patch enables this mode on compilers that support it and cleans up the few violations it threw up in the process.
- Mantaflow was using M_PI without requesting them using the _USE_MATH_DEFINES define to opt in to non default behaviour.
- Collada did not include the right header for std::cerr, this seemingly was fixed for other platforms already but put inside a platform guard.
- Ghost had some scoping issues regarding uninitialized variables and goto behaviour
[1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance
Differential Revision: https://developer.blender.org/D6824
Reviewed By: brecht
color
Selection and grooming only ever happens on hair keys (vertices), so
makes sense to use that theme color.
Sidenote: `CacheEditrPathsIterData` and `PTCacheEdit` have `sel_col` and
`nosel_col`, these can go, will do in a separate commit.
Maniphest Tasks: T68788
Differential Revision: https://developer.blender.org/D6725
Compared to 2.79, this also has the benefit of actually showing the curve
again if you set both bevel start and end to 0.0 for example.
Maniphest Tasks: T59271
Differential Revision: https://developer.blender.org/D6168
Adds the invert vgroup mask option to the Vertex Weight modifiers.
These 3 modifiers share the same functions so they needed to be modified at the same time. They are all setup the same with the invert vgroup option being added. I had to add a flag to the Mix modifier but the others I use the existing flags.
Differential Revision: https://developer.blender.org/D6819
Provide different options for locking and unlocking vertex groups
using bone selection, accessible via a pie menu triggered via the
'K' hotkey. To implement a variety of operations, extend the old
operator with a new option to mask it by bone selection. If the
X Mirror option is enabled, selection is automatically mirrored.
This follows D6533 as the next step in improving accessibility of
vertex group locking during weight painting.
Differential Revision: https://developer.blender.org/D6618
There is a bug where the UVWarp modifier will stop working if an armature bone is set as the Bone To target and then later changed to a non armature object without clearing the Bone To string property. The modifier will still think it is needing a bone matrix and not properly use the object matrix.
A simple fix by adding a check for the object being an armature as well as the bonename string being set.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D6809