Age | Commit message (Collapse) | Author |
|
|
|
This also adds a hash function for `float2`, because `CPPType`
expects that currently.
|
|
Reviewed by Brecht
Ref T82689.
|
|
Note: This also changes the Shader socket color, to match "Shading" in the Outliner.
Theme update for shader nodes will be committed separately.
Ref T82689.
|
|
We still have to pick a color for this socket.
Ref T81848.
|
|
This class represents a pointer whose type is only known at runtime.
|
|
Those are sometimes needed when dealing with c++ types in a generic way.
|
|
This partially reverts rBe922dd7d8a307c54d49bc01649a12610b022192b.
The issues fixed by that commit is still fixed.
Reviewers: fclem
|
|
See T82856 for details.
|
|
This commit expands the Windows-specific code in rBdca9aa0053f7 and Linux-specific code in rB33b7d53df08a.
It also fixes a capitalization issue in FindPugiXML.cmake
|
|
Since Blender 2.91 the TeraScale 2 based cards crash during startup.
This patch will show the user a screen that the platform they are using
isn't supported.
The GPUs have been carefully handpicked from dozens of reports. T83124,
T83127, T83103, T83091, T83045, T83065, T82750, T82889, T82925, T82640,
T82429, T82436, T82446.
|
|
toolshelf
`invert_snap` could be called before `snap_gizmo->keymap` was found.
Use the lazy initialization in `invert_snap` then.
|
|
This fixes T68521, T82334.
The object are not properly mirrored in object mode.
For mirroring an object that has an arbitrary rotation along the X axis
this is the procedure:
1. mirror x location.
2. negate x scale of the
3. negate y and z component of the rotation (independent of which rotation mode is used).
This knowledge applies now for all angles and axes to finally make the
mirror operation work in object mode.
The new mirror function has the downside that it can not (in this form)
be used with proportional editing.
This is no problem since the old behavior can still be replicated by
scaling with -1 along any axis.
The solution to get perfect mirrors can not work for scaling in general,
because in that case there could be scew created.
Reviewed By: mano-wii
Differential Revision: https://developer.blender.org/D9625
|
|
Caused by rBba97da21acf2.
For non-topology mirror hidden verts were never respected/included in
EDBM_verts_mirror_cache_begin (they were excluded from the kdtree).
Prior to said commit, hidden mirrored verts that were still in the map
would have been excluded in a separate loop over vertices in
'editmesh_mirror_data_calc()' by checking BM_ELEM_HIDDEN. Due to the new
nature of this function this check was now moved to
EDBM_verts_mirror_cache_begin.
Maniphest Tasks: T83119
Differential Revision: https://developer.blender.org/D9673
|
|
The Vertex Weight Edit Modifier already got the Custom Curve, there was no
real reason for the proximity not to have it as well.
With some fixes by Bastien Montagne (@mont29).
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D9594
|
|
This infinite loop is caused by a conflict between the volume mesh
creation which unintentionally clears the shaders before early exiting
when no grid is found, and the Blender exporter which adds back the
shaders causing us to reupdate as the shaders changed.
To fix this simply preserve the shaders on the Volume node.
|
|
This was caused by incorrect argument type in dummy function
`rna_Sequences_new_sound()`
Caused by 13ca11ac52a8
|
|
We already have generic enums for empty and default 'none' value.
|
|
|
|
|
|
|
|
Use RNA_api_sequences() for SequenceEditor and MetaSequence
sequences member.
Defines pair of dispatch functions rna_Sequences_editing_* and
rna_Sequences_meta_* that pass pointer to seqbase to
rna_Sequences_* function.
Downside of this implementation is, that it defines 2 seemingly
different RNA collections - SequencesMeta and SequencesTopLevel
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D9601
|
|
|
|
PugiXML was historically shipped hidden embedded into OIIO, the Grease
Pencil team had a requirement for an XML library recently so pugi seems
like a natural choice since it's not really a 'new' library, we just
turn an implicit dependency into an explicit one.
This commit expands the Windows-specific code in rBdca9aa0053f7 to
include Linux. macOS support will be handled in a later commit.
NOTE: run `cmake -U'*PUGIXML*' .` in the build directory to ensure CMake
finds PugiXML in the new location.
For details see D8628
|
|
The idea is to avoid any synchronization needed in the worker threads
and make them to operate on a local data. From implementation detail
this is achieved by keeping track of "wavefront" of markers which are
to be tracked and the tracking result. Insertion of results to the
AutoTrack context happens from main thread, which avoids need in the
lock when accessing AutoTrack.
This change makes tracking of many (300+) about 10% faster on the
Xeon) CPU E5-2699 v4. More speedup will be gained by minimizing
threading overhead in the frame cache.
Another important aspect of this change is that it fixes non-thread
safe access which was often causing crashes. Quite surprising the
crash was never reported.
|
|
Log to verbosity level 1 rather than INFO severity.
Avoids a lot of overhead coming from construction of the INFO stream
and improves performance and threadability of code which uses logging.
This makes tracking of 250 frames of a track of default settings to
drop down from 0.6sec to 0.4sec.
|
|
Unused and was not entirely happy with such short abbreviations.
|
|
Makes it more clear whether object is allowed or not allowed to be NULL.
Also, avoids possible access to the different object mode enumerator.
Should be no functional changes.
|
|
ob can be NULL, so it needs to be checked before accessing ob->mode
Differential Revision: https://developer.blender.org/D9680
|
|
These functions were only checking the X axis for flipping the
displacement for a symmetry area depending on the initial position of
the pivot.
This affects transform and any other tools that transform vertices and
applies symmetry based on areas (the pose brush, for example).
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D9654
|
|
This adds the vertex and face count info to the scene stats in sculpt
mode. These stats count the active vertices and faces in the
sculptsession for the active object. This has the following advantages:
- It is possible to know how many vertices the sculptsession has active
comparted to the vertex count of the entire scene from sculpt mode
- When sculpting with constructive modifiers, these stats will report the
number of vertices that you can actually sculpt with, instead of the
vertex count of the modified mesh and the entire scene.
Reviewed By: sergey, dbystedt
Differential Revision: https://developer.blender.org/D9623
|
|
|
|
Also use LISTBASE_FOREACH in a few places and generally clean up
the code for the two sidebar panels "Sockets" and "Interface".
|
|
We already `memset` the whole mesh runtime to zero, no need to set some
of its pointer explicitly to NULL afterward.
|
|
Adjust the threshold for switching from the base case to trace > 0,
based on very similar example code from www.euclideanspace.com to
avoid float precision issues when trace is close to -1.
Also, remove conversions to and from double, because using double
here doesn't really have benefit, especially with the new threshold.
Finally, add quaternion-matrix-quaternion round trip tests with
full coverage for all 4 branches.
Differential Revision: https://developer.blender.org/D9675
|
|
|
|
axis-constraining on release
Release confirm did not consider modal keymap events.
|
|
Properly use given reference pointer in
`lib_override_library_create_post_process` when it is a Collection one
too.
|
|
That function was adding given new collection to all ancestors of the
reference one, instead of only to its immediate parents.
|
|
Extract initialisation code of box selection into separate functions.
No functional changes.
Reviewed By: zeddb, sybren
Differential Revision: https://developer.blender.org/D9196
|
|
Fix various problems in the Action Group rearranging code. All fixes are
necessary to resolve the bug.
- Before groups are rearranged, the channels are moved into their
respective groups (so no longer referenced by `action->channels`). A
temporary group is made for ungrouped channels. The code made
assumptions about the channels being in the same order as the groups;
that assumption has been removed.
- Looping over channels in an Action Group should stop when reaching the
last channel, and not until `NULL`.
- After all the reshuffling is done, the `action->channels` linked list
wasn't terminated properly. Now `first.prev` and `last.next` are set
to `NULL` to avoid infinite loops.
|
|
Some minor cleanups to make an upcoming bugfix easier.
No functional changes.
|
|
Previously image accessor was sharing array pointer for tracks access.
Now it is possible to pass a temporary array valid only during the
initialization process.
Should be no functional changes.
|
|
This is something not-so-trivial to see from just reading code, which
shown an important of proper comments and clear naming.
Main source of confusion was that it is not immediately clear that
AutoTrack context is to see all tracks, but tracking to only operate on
selected ones.
|
|
The windows build leaves a convenience helper script
in the build folder called, rebuild.cmd. This change
passes any parameters you give rebuild.cmd to ninja
so you can easily pass it additional parameters without
having to edit the batch file manually.
|
|
This operators reset the vertex color information of the strokes.
If nothing is selected, all strokes are reset. If any is selected, only selected strokes are reset.
Also added a new menu Paint in Vertex Color mode.
Differential Revision: https://developer.blender.org/D9647
|
|
|
|
Was re-introduced after previous round of cleanups when was merging
refactor and master branches.
|
|
No functional changes, just allows to potentially extend the options
in the future, and also makes code more explicit.
|
|
Wrong comment was used for enumerator.
Also made it a real typed enumerator to ease use in the implementation
code.
Should be no functional changes.
|