Age | Commit message (Collapse) | Author |
|
|
|
Differential Revision: https://developer.blender.org/D10875
|
|
|
|
Previously, `node_name` was rarely actually a name of a node. It is set
correctly as node name in `ED_node_tree_push`. However, later on it
was overwritten by the name of an id data block in `node_draw_space`.
Now, the node_name stays the name of the "parent" node. Whereas
display_name is the name that will be displayed in the breadcrumbs.
With this change, the `node_name` can be used to reconstruct the
actual path from the root node tree to the currently visible tree.
Differential Revision: https://developer.blender.org/D10874
|
|
|
|
|
|
|
|
|
|
The node tree evaluator now calls a callback for every used socket with
its corresponding value(s). Right now the callback does nothing.
However, we can use it to collect attribute name hints, socket values
for debugging or data that will be displayed in the spreadsheet.
The main difficulty here was to also call the callback for sockets in
nodes that are not directly executed (such as group nodes, muted
nodes and reroutes).
No functional changes are expected.
|
|
|
|
|
|
This is useful to avoid nullity checks in some places.
|
|
|
|
|
|
After some back and forth with the GP module and some artists, this
option was deemed not that useful. The use case was considered too
obscure so we'll remove it.
It is still posible to have this functionality by using the vertex
weight modiifers or manually clamping the weights.
|
|
This can be done with an other GP modifier already.
|
|
If any axis of the scale of an object was zero, transforming failed.
This was because `td->smtx` was set to a zero matrix.
orthogonalize_m3_zero_axes is used to fill in the zeroed axes.
Thanks to @filedescriptor for the initial fix: D10869.
|
|
Expose a this function to initialize any zeroed axes
to an orthogonal vector based on other non-zeroed axes.
This functionality already existed for `invert_m#_m#_safe_ortho`,
expose as a public function as it's useful to be able to fill in zeroed
axes of transformation matrices since they may be used in matrix
multiplication which would create degenerate matrices.
|
|
Compute a subset of the area light that actually affects the shading point
and only samples points within that.
It's not perfect as the real subset is a circle instead of a rectangle, and
the attenuation is not accounted for. However it massively reduces noise for
shading points near the area light anyway.
Ellipse shaped area lights do not have this importance sampling, but do not
have solid angle importance sampling either.
Ref D10594
|
|
This simulates the effect of a honeycomb or grid placed in front of a softbox.
In practice, it works by attenuating rays coming off-angle as a function of the
provided spread angle parameter.
Setting the parameter to 180 degrees poses no restrictions to the rays, making
the light behave the same way as before this patch.
The total light power is normalized based on the spread angle, so that the
light strength remains the same.
Differential Revision: https://developer.blender.org/D10594
|
|
Due to T64791 we must still use the old Lamp name rather than Light, work
around that for now.
|
|
The combination of building unit tests and WITH_CYCLES_NATIVE_ONLY did not
correctly detect when AVX/AVX2 support is available.
Differential Revision: https://developer.blender.org/D8201
|
|
Fix a segfault by setting the `batch_cache` pointer to `NULL` when copying
a Lattice. That way the copy can get its own batch cache when needed,
preventing a use-after-free.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Got ignored in the initial commit of clang-format support to the Libmv.
|
|
This condition was in contradiction with comment for function
`ffmpeg_generic_seek_workaround()`.
I have noticed, that formats that seeked well used this workaround.
Problem was that I misunderstood code from `av_seek_frame()` - formats
with `read_seek()` function stil don't use generic seeking method.
This is defined in `seek_frame_internal()`
|
|
|
|
The "Paste Flipped" operator was missing its own tooltip.
This patch adds the tooltip by implementing the `get_description` callback for
`GRAPH_OT_paste` and `ACTION_OT_paste`.
Reviewed By: sybren
Maniphest Tasks: T87037
Differential Revision: https://developer.blender.org/D10859
|
|
`ffmpeg_generic_seek_workaround()` applied negative offset for seqrched
packet timestamp, but proxies always start from 0 and timestamp can be
negative.
Limit timestamp value to 0, because `av_seek_frame()` doesn't accept
negative timestamps and returns with error. This prevents seeking from
working correctly.
|
|
|
|
|
|
|
|
|
|
|
|
The RGN_TYPE_EXECUTE region was zero height - with the "Load & Save"
button drawing outside of those bounds - so it didn't respond to events.
This is because the region started off this size and does not change
with simply adding the buttons. Although it has RGN_FLAG_DYNAMIC_SIZE,
delayed reinit of regions is only currently supported on headers.
This gives the execute region an initial (minimum) vertical size but
also makes the region **hidden** by default.
- Showing Prefs as an editor among others it will show the header
but not the execute region.
- Showing the Prefs in a popup window, hides the header region
and shows the execute region.
Ref D10636
|
|
|
|
|
|
|
|
Make use of `StatementMacros` so Python structs are formatted correctly.
The comment about STRINGIFY doesn't seem to be valid anymore,
so this has been left out.
|
|
|
|
|
|
Correction in e5f0d176d4cfa020bfb4de78086007dcfd02e8f9
|
|
This was added in rB93aeb6b318a7, last changed in rB8f0a44a5d55d,
and removed in rB51b796ff1528. I assume it was a way for curves to
have split edges at corners. As far as I can tell it only ever worked
in Blender Internal, and that has been gone for years.
Another possible route here would be restoring this functionality,
but it's generally preferrable to reduce complexity in this
area of curve code than adding it back, especially in the context
of other improvements planned related to curves in geometry nodes.
Differential Revision: https://developer.blender.org/D9966
|
|
Caused by an incorrect transformation order in cleanup commit
rBd037fef3bd1dc2e. The fix is to simply reverse the order.
|
|
|