Age | Commit message (Collapse) | Author |
|
No reasons to keep the new ID pointer as parameter here.
Part of T71219.
|
|
Note that possibility to pass the new ID pointer as parameter was kept,
as this is needed for some rather specific cases (like in depsgraph/COW,
when copying into already allocated memory).
Part of T71219.
|
|
This modifier uses a 3D texture to displace a volume.
For now, this can only use the previously existing texture system,
because we do not have a better alternative yet. Still, the results
can be quite good and interesting. See D9075 for some examples.
Reviewers: brecht, simonthommes
Differential Revision: https://developer.blender.org/D9075
|
|
Changes Workspace tabs so that the text size and tab width are both set by style.widget.points.
Differential Revision: https://developer.blender.org/D9108
Reviewed by Julian Eisel
|
|
Regular rendering uses a custom blend mode, but render passes renders to
2 separate textures. This wasn't configured correctly inside the
fragment shaders. This patch adds a switch to configure the fragment
shader with the correct attachments.
Backport to Blender 2.83.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D9038
|
|
The overlay options in the image/uv editor is hidden in side panels and menus. Sometimes this panel is even hidden, while still useful.
The goal of this task is to introduce an overlay pop-over just like the overlay-popover of the 3d viewport.
Popover has
* UV Stretching (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode)
* Display As (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode)
* Show Modified (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode)
* Show UV Edges (including opacity slider; available UV, View, Paint, when active object mode is a mesh and in OB_EDIT mode)
* Udim tiles when no image is available.
Like the 3d viewport, there will be a editor toggle to enable/disable the overlays
For compatibility reasons the RNA properties are added to both the `SpaceImage.uv_editor` amd `SpaceImage.overlay`. On DNA level they are still stored in the SpaceImage. only new properties are added to the SpaceImageOverlay struct. During the next major release we could remove these options from `SpaceImage.uv_editor`. This should be noted in the Python section of release notes.
Reviewed By: Julian Eisel, Pablo Vazquez
Differential Revision: https://developer.blender.org/D8890
|
|
Particularly useful now that we can dynamically generate volume using
modifiers. Not exposed in the user interface currently, but it can be used
by add-ons that need to export an entire scene including volumes.
|
|
There was a wrong duplication of all strokes and this accumulated all previous data for each frame.
Also a cleanup has been done in order to clarify what means each variable.
|
|
The alloc was done in the init, but the free was done in the discard.
As discarding can happen more often there were some unneeded if
statements to work around use after free.
This patch moves the free to the `mesh_batch_cache_clear` and removes
the if statements to check for use after free.
|
|
It used to be an `int mode`.
|
|
The panel category tabs (In the 3D view N-panel) did not look great
when zoomed in or with high DPI screens, with multiple overlapping
outlines, and roundness that didn't match elsewhere in Blender. In
addition, there was some unecessarily low-level drawing code in the
panel code.
This commit uses an existing function `UI_draw_roundbox_4fv`to draw
the tabs instead. There are some slight visual differences, though
these are easily adjusted with theme colors.
Differential Revision: https://developer.blender.org/D9045
|
|
In the graph editor there is a panel that says "Active Keyframe" for
numerically editing a keyframe's values, but in the code there is no
concept of the "active keyframe." Since this is a useful concept to
have for some other features anyway, this commit adds an active
keyframe index value to FCurves. It also displays it with a theme
color for the active vertex (which didn't exist before) if the
FCurve is active.
The active keyframe in the graph editor is treated similarly to the
active vertex in the 3D view. It is the keyframe most recently selected
with a single click, and it is always selected.
For now, the only real functional change is that the active keyframe
appears in white and it should be more predictable which keyframe is
being edited in the sidebar panel.
Differential Revision: https://developer.blender.org/D7737
|
|
Reviewers: mont29, brecht
Differential Revision: https://developer.blender.org/D9135
|
|
Move the information about the type of the source objects to the item
descriptions instead of the names. The extra information in the names
made the labels cluttered, and it's less important information.
Differential Revision: https://developer.blender.org/D8352
|
|
Follow the MLA style, agreed upon in T79589. This means "from" within UI
labels should be lowercase.
Differential Revision: https://developer.blender.org/D8345
|
|
The settings in these popups are not animateable, so also turn off
property decorate. And also use better widths in order to fit the
full text.
Differential Revision: https://developer.blender.org/D9060
|
|
This case was leaving some data uninitialized, producing some NaNs in the
fragment shader.
|
|
This path makes use of more framebuffers when using the gpu workarounds.
Increase the MAX FBO attachments per texture. Maybe we could use a growing
vector in the future.
|
|
At the end of `GPU_framebuffer_blit` when `prev_fb->bind(true);` is called,
the `context_->active_fb` was not in sync and lead to the wrong framebuffer
being modified by bind function.
This fix T81055 SSS light is missing from the diffuse light render pass
|
|
Endian switching when loading 64bit blend files on a 64bit system was
crashing as the endian switching is only applicable when loading
on 32 bit systems.
This crash goes back to 2.7x, it looks like this never worked
all the way back to the first commit.
|
|
Mark the `has_animated_geom_params()` function as `static`, as it's only
used in that particular compilation unit.
No functional changes.
|
|
Avoid overwriting user-chosen `SACTION_SLIDERS` flag when switching the
Dope Sheet editor to Shape Key mode. The Shape Key mode now ignores the
flag, and always shows the sliders.
The obvious limitation is that you can't hide the sliders in the Shape
Key editor anymore
Reviewed By: looch, sybren
Differential Revision: https://developer.blender.org/D9121
|
|
This is part of T75724.
Reviewers: mont29
Differential Revision: https://developer.blender.org/D9134
|
|
|
|
code.
Besides the NodeTree case (which remains unchanged), the localize code
is only used in one place (to generate previews of shading data-blocks).
This commit introduces a new `LIB_ID_CREATE_LOCAL` option for ID
creation/copying, which essentially implements the behavior of the
removed `BKE_XXX_localize()` functions into regular mainstream ID copy
code. When this option is set:
- new ID is tagged with `LIB_TAG_LOCALIZED`;
- Some ID copying callbacks have specific behaviors, mainly the root
nodetree of shading IDs gets duplicated with specialized
`ntreeLocalize()` function.
Note that I would not consider getting rid of `ntreeLocalize` for now,
this function is recursive, which should ideally never happen within ID
management copying code (this introduces all kind of complications).
No behavioral change expected from this commit.
|
|
Add a specific flag for nodetree deep-copy special localization code.
And add a new `LIB_ID_CREATE_LOCALIZE` flag, similar to
`LIB_ID_COPY_LOCALIZE`, for creation purposes.
No behavioral changes expected here.
|
|
colors
If the mesh was constant, no check was done if there were animated
vertex colors and thus creation of a MeshSequenceCache modifier was
skipped.
Thx @sybren for feedback!
Maniphest Tasks: T81330
Differential Revision: https://developer.blender.org/D9057
|
|
|
|
This code gets called before do_version can fix that, so we have to work
around it for now.
|
|
In that case, weightpainting would still be done threaded, but current
mirroring code cannot be run in parallel.
Caused by rB5502517c3c12 [which was checking mesh 'flag', needs to be
'editflag' -- thus test was always true].
Reviewers: pablodp606
Maniphest Tasks: T81461
Differential Revision: https://developer.blender.org/D9126
|
|
locking
The result was being affected by the view alignment correction.
Regression introduced in rB4eda60c2d82d
|
|
The edit_constraint_property_get function was using bone constraints
in pose mode even for object constraints. This change mirrors the code
in `uiTemplateConstraints` as well.
Differential Revision: https://developer.blender.org/D9128
|
|
This enables a union boolean mode for the trimming gestures tools which
adds geometry to the mesh instead of cutting it.
It also adds a Join mode, which adds the geometry directly without
using a boolean operation.
Depending if you plan to use dyntopo or not, it is useful to have both
options available.
This is using the full depth of the object from the camera view for the
depth of the geometry, but options for controlling the trimming depth in
all modes are going to be added in later patches
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D9066
|
|
The example file in T81218 has a driver that maps a bone's X-location to
the number of BBone segments. This caused a dependency cycle, which
resulted in bad thread serialisation, which caused the crash.
This patch breaks the dependency cycle `BONE_LOCAL` →
`DRIVER(bones["Bone"].bbone_segments)` → `BONE_LOCAL`. The 'Driver Data'
relation now points to `BONE_SEGMENTS` when the driven property starts
with `bbone_`.
Differential Revision: https://developer.blender.org/D9122
|
|
When sequencer was moved from kernel, the DEFINES based on audaspace
were not moved along.
That means users had no way of creating new audio strips since
BKE_sequencer_add_sound_strip was ifdef'out
|
|
Reduce nesting of `DepsgraphRelationBuilder::build_driver_data()` by
flipping conditions and `return`/`continue` early.
No functional changes.
|
|
|
|
The external engine in the draw manager wasn't registered correctly.
This did not free the resources after the external engine was used.
|
|
The buttons hide when the search finishes based on whether they are in
the "panel header" group. These buttons were not protected with a new
group. This adds a new group for operator button calls, and also makes
it so a new group is always created after the header buttons.
|
|
- Density, interpolation and slicing options in Volume Object's
Viewport Display are now not aligned to each other as they are not
closely related.
- Changed the enum property for slicing ('Method') to a boolean
property 'Slice' and added a sub-panel for slicing options under
the 'Viewport Display' panel in Volume Object and Fluid for better
clarity.
- Renamed `axis_slice_method` to `use_slice` in the python API for
Volume Object and Fluid.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D9097
|
|
When extracting a mask, the new object is going to have the same mask on
the same vertices, so it can't be sculpted without clearing the mask
first. It makes more sense to delete the mask datalayer from the new
object.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D9070
|
|
Just a missing update flag
Reviewed By: mont29
Maniphest Tasks: T81343
Differential Revision: https://developer.blender.org/D9077
|
|
This helps blending artifacts with dynamic simulation areas as the
damping increases when the vertex.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D9084
|
|
This adds a small gradient to the right side of the line to preview
which side of the mesh is going to be affected by the gesture operation.
Reviewed By: Severin
Differential Revision: https://developer.blender.org/D9106
|
|
rendering range
The Allow Negative Frames option, introduced in rB21a2350248fd, allows
for negative frames, but this should only apply for playback and
animations, the rendering range should still be clamped to MINFRAME /
MAXFRAME, because rendering does not allow for negative frames. Preview
range should not be affected afaict (I am not aware of operators that
allow for rendering this range).
Maniphest Tasks: T81380
Differential Revision: https://developer.blender.org/D9112
|
|
Move the collection exclude checkbox to be with the other restrict
buttons. This makes the button consistent with the other restrict
buttons, and it makes the visual hierarchy more clear with the contents
of a collection properly indented under the collection name, rather than
the collection icon.
Differential Revision: https://developer.blender.org/D8928
|
|
When the limit surface is disabled OpenSubdiv generates a set of linear
patches which are only C0 continuous, not C1. This makes it impossible to
evaluate derivatives at vertices which, in this mode, are by definition put
at boundaries of patches. Normals are calculated from those derivatives.
Solution is to disable normal calculation and let it be done downstream, as
for other modifiers. This limitation is also the reason that non feature
adaptive subdivision is badly suited for GPU evaluation.
Differential Revision: https://developer.blender.org/D9103
|
|
Because the active context is stored as a short in DNA it's better
to use short in the code surrounding it. Also adjusted a comment
that reflected an incorrect assumption.
|
|
During the refactor, this feature was removed by error.
When this option is enabled, only the frames with a keyframe are displayed in Draw mode. This is used when fill an animation to paint only in the frames with real drawing.
|
|
Fix T81429.
This was an intentional change in rBc75a665c442e as it maintains the
same behavior as the constraint with or without modifier.
But from the user's PoV, it is better to keep the old behavior.
This makes drawing and behavior more intuitive.
|