Age | Commit message (Collapse) | Author |
|
|
|
|
|
Computing the original volume should use the rest positions of vertices,
like is done for initializing other parts of the simulation like springs.
Otherwise, features like rest shape key don't work correctly.
|
|
This is legacy code from before Eevee and Workbench rendering in background
mode was supported. Avoid memory leak by only queueing GPU textures to be
freed when we know they have been allocated.
Differential Revision: https://developer.blender.org/D8172
|
|
|
|
Was caused by weird and feedback-loop based issue from a long time ago.
The auto-render was only happening for nodes which are tagged for exec.
This tag is assigned by edit operations on the tree (for example, when
adding or removing links). It is also set in the render pipeline for
nodes which are to be executed.
The issues comes from the fact that "life updates" during editing did
not clear the need_exec flag, ever. This made it so Auto Render was
working as expected. However, rendering the scene resets need_exec
flags at the end of rendering using ntreeCompositClearTags().
The actual need of such clear is not very clear, but it was making it
so Auto Render does not work after render.
To my knowledge the flag didn't really meant that the node is connected
to the output, so it couldn't have acted as attempt to ignore rendering
of an unused scene. It also should be possible to auto-render even if
node tree itself was never altered.
Long story short: lets ignore need_exec flag in auto-render check and
render scene node if the scene is used by the node.
Differential Revision: https://developer.blender.org/D8171
|
|
|
|
We are likely still missing a lot of things, but most operators that
should not be allowed on liboverrides should now be properly disabled.
|
|
Take the do_id_user flag into account when freeing custom properties
attached to pose channels, so that pointer properties don't cause
assertion failures when DEG frees its COW instances.
|
|
Introduced in recent commit 9c29803255e09.
|
|
|
|
Keep terminology consistent, 'Current Frame' is used nearly everywhere.
|
|
Support custom-data correction based on surrounding geometry for all
transformation modes of the mesh transform operators.
The is the same logic used in Vert and Edge Slide.
In order not to change the current default behavior,
this property does not affect Vert and Edge Slide modes.
|
|
|
|
This avoids logic op and having to draw on the render frame-buffer.
|
|
Missing NULL check in f7bbc7cdbb6cb
|
|
Apple's Nvidia driverPROXY check also fails. Now the
configuration Apple/Nvidia will also bypass the
Proxy test.
Maniphest Tasks: T78175
Differential Revision: https://developer.blender.org/D8160
|
|
Change extraction callbacks to take index ranges instead of calling them
for each mesh element (poly, loop, vert & edge).
This gives a minor overall performance gain in my tests, ~5% on average.
Details:
- Use typed parameter structs and macros for looping over elements.
Without this, changes to these callbacks is time consuming as changes
need to be made in many places.
- Avoid iterating over polygon-loops when iterating over polygons
is sufficient.
- Simplify logic to access adjacent loops for faster line extraction.
- Rename 'loop' iterators to 'poly' (as they take polygon ranges)
the iterator callbacks can operator on either polygon or loop data.
- Use term 'last' for the last index (inclusive),
use 'end' when this value (not inclusive).
|
|
|
|
|
|
|
|
|
|
|
|
This renames the layer persistent base and adds new API functions to get
the mesh state from the base, so it can be used from other tools and
replaced in the future with a better system.
Reviewed By: sergey
Maniphest Tasks: T77738
Differential Revision: https://developer.blender.org/D8003
|
|
This follows Cycles closer.
|
|
|
|
The color picker and brush->rgb values are in srgb, but sculpt vertex
colors works in linear, so they need to be converted.
Reviewed By: sergey
Maniphest Tasks: T78201
Differential Revision: https://developer.blender.org/D8111
|
|
Pan the view when dragging elements near the borders. This uses the same
operator that scrolls the region during modifiers drag and drop.
|
|
This implements a fill mode in the Color Filter tool, which fills the
entire mesh with a specific color.
As this functionality is part of the color filter, this allows to control
the blending of the fill color with the filter strength.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8158
|
|
This is the same issue as in rBbcf49d13e53454.
|
|
Previously it was not possible to tell appart a linked data-block from its
override copy. In fact you couldn't tell appart any data-blocks with the same
name (which is possible with linking).
Now we show the library state icon as we do for data-blocks in other display
modes.
Old/new comparison (note the overriden "GEO-head"):
{F8608835} {F8608836}
|
|
The new simulation type can also reference a point cache, but it is not an object.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D8097
|
|
This changes the drawing by drawing 2 circles with different intensity to
avoid any readability issues. This removes the need for Logic OP which is
implementation dependent.
|
|
Sometimes it is convenient to be able to return a reference to some
dummy function.
|
|
Those are necessary to query and modify the network.
|
|
This allows multi-functions to have static storage duration.
|
|
|
|
|
|
|
|
|
|
Previously if a modal operator is active, which might leave Blender in a state
where it's not safe to autosave, it would try again in 10s. Now try again in
10ms so it's much less likely to be missed, since overhead of such a timer is
negligble anyway.
Also remove the debug print that was added to investigate a bug at some point.
|
|
|
|
Differential Revision: https://developer.blender.org/D8093
|
|
Prevent operators that should not perform on override data to be
callable in those cases.
|
|
This option allows posing meshes with different disconnected elements
using the Pose Brush.
This is achieved by doing the following:
- Creating an ID per vertex that stores the connected component of that vertex.
- By using those IDs, one fake topology connection is created per vertex to the nearest vertex in a different ID. The maximum distance to create that connection is determined by the "Max Element Distance" property. These fake connectivity neighbors are used in the Sculpt API functions iterators, so all the algorithms of the Pose Brush can run without modifications as if everything was part of the same mesh.
In order to make this work, the "Connected only" property of the Pose Brush needs to be disabled. This will add an extra performance cost to the Pose Brush and its preview. To achieve optimal results, max element distance should be as low as possible.
Reviewed By: sergey, campbellbarton
Differential Revision: https://developer.blender.org/D7282
|
|
|
|
|
|
|
|
Also fix an issue with antialiasing when xray opacity is set to 0.
|
|
|