Age | Commit message (Collapse) | Author |
|
|
|
|
|
Issue introduced on fe045b2b77dc6d7f0b552619fe824b496d34db6c.
Since the stereoscopy compositing (anaglyph, ...) is only done for
viewports the VSE preview and compositor need to use viewports.
Reviewed by: dfelinto
Differential Revision: https://developer.blender.org/D8472
|
|
|
|
Previously, the XYZ deform axis of the Mesh Filter were limited to
object space (which is the default for sculpt mode). Now it is possible
to limit the XYZ displacement in Local, Global or View space.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8582
|
|
Differential Revision: https://developer.blender.org/D8607
|
|
|
|
For 2.90 release this should not be exposed in the RNA API.
In master this needs to be ON by default, that's all.
Differential Revision: https://developer.blender.org/D8589
|
|
|
|
|
|
Final releases (including beta) should strictly show features that are
finalized to prevent loss of data, old API clanging around, and the
overall quality of the product (Blender) presented.
Note that rendering should never be affected by user preferences, so
this is only changing things in the UI level.
Development note: This is reset experimental UI on file load.
Also note: to hide RNA (needed for hair and particles) will be done as a
separate patch.
Differential Revision: https://developer.blender.org/D8606
|
|
Related to T79716
|
|
Drawing with 0 sized buffer is prohibited.
|
|
After drawing, the batch could be reset and draw again using other
parameters.
Avoid having to track references by setting the batch pointer to NULL after
drawing.
|
|
This uses the same concept of the Mesh Filter but for applying the cloth
filter forces, so now it can be limited to a specific axis.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8567
|
|
This adds an option to the Multires modifier to sculpt directly on the
base mesh while previewing the displacement of a higher subdivisions
level. What this does it considering Multires as a regular modifier
without exposing the grid displacement to sculpt mode.
This allows to see the propagation happening in real time, which enables
to use complex tools like Cloth or Pose in much higher resolutions and
without surface noise and artifacts.
Reviewed By: sergey, Severin
Differential Revision: https://developer.blender.org/D8555
|
|
Reviewers: sergey
Differential Revision: https://developer.blender.org/D8605
|
|
Functions `mesh_create_eval_final_view()` and
`mesh_create_eval_final_render()` were doing the exact same thing,
except for a hack introduced in d3eb9dddd6b4 (2012-10-08, Better fix for
T32846: dupligroup messes up particle instancing on rendering) that
appears to be no longer necessary. Besides that, these functions had
confusing names. Their functionality changed over time, and whether to
do for-render or for-viewport evaluation is now actually determined by
the depsgraph evaluation mode. This means that the `..._render` function
could evaluate a mesh with viewport settings, and vice versa.
The functions are now merged into `mesh_create_eval_final()`, and the
hack has been removed. The `OB_NO_PSYS_UPDATE` flag has been removed
entirely (instead of keeping it around as deprecated flag), because it
was always only temporarily set on objects during mesh evaluation and
thus not saved to the blend file.
No expected functional changes as far as users are concerned.
|
|
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8556
|
|
Even the Cloth Brush grab works like a regular grab brush, it makes
sense to support spacing just in this brush in order to prevent creating
more brush steps that update the simulation. This way, it is possible to
create grab brushes that update the simulation constantly while grabbing
(using the dots stroke mode) or brushes that only update the simulation
when the cursor moves (using spacing).
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8568
|
|
This code was left here after the refactor, it was doing nothing and it
was causing an assert.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8579
|
|
The Face Set visibility operator was using the last active Face Set
updated by the paint cursor, so when the paint cursor is not used (when
using a filter or a transform tool), the active Face Set was not updating
and it was hidding the wrong Face Set based on the last cursor position
with a brush tool active. Now the Face Set Visitility operator has an
invoke callback wich forces a active vertex and face set update
regardless of the active tool, so it should always work correctly.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8580
|
|
Since world shader use the same standard output and are considered opaque,
we need to set alpha as holdout.
|
|
This was a TODO in the code. Previously the Face Set datalayer was
deleted and recreated with a constant ID of 0. Now the datalayer is
preserved and set to the SculptSession after slicing the mask and a new
ID is calculated for the new faces that the slicing operation produced,
so they can be easily isolated for further tweaking.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8583
|
|
This will be used for new features like supporting cloth deformation in
other brushes and tools outside of the cloth brush code.
No functional changes.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8602
|
|
|
|
Some constraint-specific operators, like set/clear inverse matrix of
childof constraint, are also valid on original, linked/overridden
constraints.
Similar change to what was done to modifiers poll function a few days
ago.
Reported by Josephbburg (@Josephbburg) over IRC, thanks.
|
|
|
|
Cage of Surface Curves
Differential Revision: https://developer.blender.org/D8600
|
|
|
|
greasepencil object in 2.91
The scene was null and could not be patched.
|
|
|
|
|
|
Changing line-width shouldn't scale cursor motion. Related to T79787.
Use dpi_fac for scaling curve error threshold & number button drag
threshold calculation.
|
|
Use 'dpi_fac' instead of 'pixelsize' to scale input sensitivity
based on the interface scale.
Also use dpi_fac for view zoom operator.
Thanks to @ISS for investigating.
|
|
Avoid misunderstandings with UI scaling.
|
|
Multithreaded implementation can provide significant performance gain
on CPU's that can handle more parallel tasks.
On my 8 core system I got about 3.5x faster processing speed.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8585
|
|
Define `RNA_def_property_ui_range` for head and tail transform properties.
Step of 10 should match original behavior when tweaking value.
Reviewed By: Severin
Differential Revision: https://developer.blender.org/D8513
|
|
|
|
Original sequence lookup failed, becase name changed in another thread.
Fix is same as 0471349c90df - stop prefetching before changing content
of seqbase.
I have covered more cases, and added assert so it is more obvious that
issue is in lookup, and it shouldn't fail.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8592
|
|
|
|
The fix for T75936 made it possible to export invisible objects to
Alembic. This commit applies the same approach to the USD exporter.
The USD and Alembic code is slightly different in terms of where in the
exported file the visibility attribute is stored. In USD the visibility
is used to prune the scene graph, and thus there are only two options:
"hidden" and "inherited". Setting the visiblity of a node in the scene
graph to "hidden" immediately hides all its children. To allow hidden
parents with visible children, the visibility is stored on the object
data (so the geometry/camera/lamp/etc) instead.
|
|
Add a test that checks invisible objects are iterated over by the
`IO::AbstractHierarchyIterator` class, when a suitable depsgraph is given.
No functional changes.
|
|
Add a new depsgraph builder class that includes invisible objects and
use that in the Alembic exporter.
Alembic supports three options for visibility, "visible", "inherited",
and "hidden". This means that parents can be hidden and still have
visible children (contrary to USD, where invisibility is used to prune
an entire scene graph subtree). Because of this, the visibility is
stored on the transform node, as that represents the Object in Blender
and thus keeps the Alembic file as close to Blender's own structure as
possible.
Reviewed By: Sergey
Differential Revision: https://developer.blender.org/D8595
|
|
Move the object visibility check from Alembic/USD-specific code into the
`io/common` module.
No functional changes.
|
|
The paint cursor now uses a single call to
SCULPT_cursor_geometry_info_update and the Sculpt API to update both the
radius and the SculptSession data, so random access needs to be
initialized for dyntopo before using API functions.
Reviewed By: sergey
Maniphest Tasks: T79597
Differential Revision: https://developer.blender.org/D8489
|
|
|
|
some cases.
When copying between a set RNA runtime property and an unset one, code
would not behave properly.
We have to also consider NULL 'override apply' callback pointer as a
valid 'use default override apply function' case.
|
|
The BLI_bitmap had the potential to eat a lot of memory as it was a
dense map between all the vertices in the mesh.
Now we instead use BLI_edgeset so that we only store data when needed
(creating a spare map instead of a dense).
|
|
Reviewers: Severin
Differential Revision: https://developer.blender.org/D8573
|