Age | Commit message (Collapse) | Author |
|
|
|
Blender tried to free objects twice from the bullet world sometime.
First we would implicity remove all objects when recreating the bullet
world and then explicity try to remove them again from the now empty
world.
This would wouldn't crash older bullet versions, but the recent versions
will as we will try to free objects that no longer exists in the bullet
world.
Also clear the cache on deletion as the object order changes.
Fix T77181: The cache clearing will fix this issue.
|
|
- reduce variable scope
- use bool instead of int
- use LISTBASE_FOREACH
|
|
I somehow undid these changes again before committing, sorry for the
noise...
|
|
Names were changed in 66b12ef4ab94, but the comment wasn't updated.
|
|
Reported by Demeter Dzadik (@Mets) on blender.chat, thanks.
Candidate to be backported to a potential 2.90.1.
|
|
The animated objects was not updated for each internal substep for the rigidbody sim.
This would lead to unstable simulations or very annoying clipping artifacts.
Updated the code to use explicit substeps and tie it to the scene frame rate.
Fix T47402: Properly updating the animated objects fixes the reported issue.
Reviewed By: Brecht, Jacques
Differential Revision: http://developer.blender.org/D8762
|
|
This patch moves the EEVEE depth of field shaders to eevee_shaders.c and
adds them to the eevee shaders test suite.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8771
|
|
There was no way to reset the current file to factory settings
without reloading the preferences (which disables & re-enables add-ons),
this slows down resetting files and can complicate tests.
|
|
Add back this function, removed 2e14b7fb9770b.
Useful for checking operators used in menus.
|
|
- Use WM_operatortype_description to get the operator description.
- Pass properties to WM_operatortype_name,
so the operator name callback is used.
- Add UI_but_operatortype_get_from_enum_menu function
to access the operator from enum menus.
- Change WM_operatortype_description to return NULL when there is no
description, use WM_operatortype_description_or_name
when either can be used.
|
|
|
|
|
|
|
|
This function was called when the modifier list changes and the panel
list has to be rebuilt. Originally I thought it was necessary to to remove
the block immediately when the panel was removed, but we can just
leave it and it will be removed later in the UI drawing process.
Removing this results in fewer string lookups.
|
|
Exit early in some functions to reduce indentation level, declare
variables where they are initialized, and also clean up some
comment formatting.
|
|
Faces with only 2 sides were sometimes generated.
|
|
|
|
This avoid an ASAN runtime error.
|
|
|
|
Recompute Rest Length stored in the StretchTo constraint after applying
the current pose as rest pose.
The "Apply Pose as Rest Pose" operator applies the evaluated pose as
rest pose, which means that the change in bone length from the StretchTo
constraint is applied to the rest pose. The bug was caused by the fact
that the StretchTo constraint wasn't updated for the new pose, and thus
still applied the same scale factor to the new pose, effectively
doubling its effect.
The "Apply Pose as Rest Pose" operator now forces a recompute of the
rest length cached in the StretchTo constraint data. As a result, the
length of the bone before and after the pose is applied remains the
same. The X and Z scale (perpendicular to the bone length) are reset to
1.0, as with the applied pose the bone isn't stretched or squashed any
more.
|
|
Remove the hack for library initialisation; this is no longer necessary
as the required information can be passed to the USD library after its
static initialisers have run.
This new approach is compatible with both the patched and original USD
library. This means that platform maintainers don't need to rebuild the
USD library until the next upgrade.
Manifest Task: https://developer.blender.org/T80320
|
|
Initialize the USD library when used (instead of at startup), so that
this can happen inside the IO/USD module. This makes calls to the USD
library local to Blender's USD code.
Note that failure to find the USD JSON files will now only be reported
when the USD exporter is used, and not on every startup of Blender.
This is the first step in cleaning up the way Blender patches and
initialises the USD library.
Manifest Task: https://developer.blender.org/T80320
|
|
This was a workaround that is not needed anymore.
Fix FT80321 Cropped output with Viewport Render Animation
|
|
Mirror
The mirror map can reference a hidden vertex that is currently ignored
in the transformation.
Thus the mirror element array is not filled.
|
|
Steps to reproduce were:
* Open Sequencer, add a sound strip
* In the sidebar, open the Adjust > Sound sub-panel
* Note the placement of the "Mono" item
The layout code would disable decorators if a property came from a
non-animatable data-block type. Doing so would mess up the alignment
where properties from different data-block types were be mixed.
This is not the case any more.
Note that when actually adding the decorator, a blank icon is inserted
to keep the alignment intact when the data-block type isn't animatable.
So the decorator is still not shown, but the alignment looks fine.
This may affect more cases. If so, and if that's an issue, the
decorators should be explicitly disabled.
|
|
Selecting in empty space wasnt considered as 'changed'.
Differential Revision: https://developer.blender.org/D8770
|
|
|
|
This improves circles AntiAliasing, and line antialiasing.
This keeps the old drawing method (3d spheres) for the selection pipeline.
This was suggested by @harley on devtalk.
|
|
This avoids incorrect AA when the widget is not perfectly alligned with the
pixel grid.
|
|
It conflicts with MOD_PRECISION and was not really working properly.
|
|
This prevented transformation with a precision modifier.
|
|
If the search menu was used for a string property, and a data-block was
selected from the search, the value set would be an invalid name. The
property would get the modified UI string, not the proper data name set.
This problem was already once solved in rB249ccab111ac, but resurfaced
in rB937d89afba36.
Now only use the modified UI string if requires_exact_data_name is not
true.
Note: the comments in rB249ccab111ac [reg. library hints and string
properties, also that pointer properties are preferred over string
properties when dealing with IDs] still apply.
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D8759
(cherry picked from 2.90 commit
cb0b0416f454419cd1902434f7dffa2682417a56)
|
|
Keymaps must be customized by the user.
But this is not the case for hardcoded keymaps.
Also the repetition of hardcoded and user-defined keyitems may induce
the user to think they have made a mistake or it is a bug.
Differential Revision: https://developer.blender.org/D6454
|
|
Caused by rB2e908156d0c7
This was caused by the sequencer timeline area not using a GPUViewport
but still using `sequencer_draw_preview`.
|
|
|
|
This also make the validation quicker by tracking the currently
bound slots.
|
|
The compiler does not seems to understand the `const` in the
function declaration and complains about non constant indexing
of unsized array.
|
|
This is undefined behavior on certain system.
|
|
animated
Because depsgraph isn't rebuild for animated properies, we have to
assume that active bodies will always want to have updates from the
rigidbody simulation.
|
|
This error happened only with O2 or O3 in my tests.
Casting to uintptr_t and back seems to quiet the compiler.
|
|
- moved to eevee_shaders
- added to test suite
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8763
|
|
Useful for checking which operators are only for internal use.
|
|
The term makes sense in the image editor, but not among other editors
where we had both VIEW and VIEW_3D.
|
|
BPy_enum_as_string (used for creating error messages)
showed a leading comma for enums that used category headings.
While harmless, it looks odd.
|
|
Calling: bpy.ops.wm.read_homefile(use_empty=True)
exposes invalid user-counts in versioning code.
Simplified logic for assigning materials in versioning code.
Caused by 29f3af9527259.
|
|
- Direct assignment caused ID user counts to be invalid.
- The first palette would always be used,
even when the named palette searched for was found.
Also pass 'const' string to `hex_to_rgb`, avoid casting to 'non-const'.
|
|
|
|
This affects the mask opacity not the stencil itself.
|
|
|