Age | Commit message (Collapse) | Author |
|
Also add missing task-ID reference & remove colon after \note as it
doesn't render properly in doxygen.
|
|
For non-stereo cases this is automatically handled by IMB_saveiff, no reason for
stereo to do this separately.
Ref D14899
|
|
Store ImageSaveOptions directly in operator custom data instead of copying
to/from a copy on the stack.
Ref D14899
|
|
The logic here is tightly coupled to the other image saving code.
Ref D14899
|
|
|
|
Caused by rBe4bb898e40ee
|
|
MTLState module implementation and supporting functionality in MTLContext for state tracking, texture binding and sampler state caching.
Ref T96261
Reviewed By: fclem
Maniphest Tasks: T96261
Differential Revision: https://developer.blender.org/D14827
|
|
|
|
|
|
|
|
Update the trim icons so they don't show a dashed line. Instead they
have now a continuous red line.
This is important because the sculpting tools are planning to use the
same icons for selection as the regular tools. And those icons use
dashed line to represent selection.
Note the icon file has two new icons which are not used at the moment
(they are in the Unused collection):
* ops.generic.select_paint
* ops.generic.select_line
|
|
|
|
|
|
|
|
`uiBut` contained a variable that was only used for these hot-key
buttons. This may also help getting rid of the `UI_BUT_IMMEDIATE` flag,
which is also only used for this button type. We are running out of
available bits for flags, so this would be useful.
Continuing the work from 49f088e2d093. Part of T74432.
|
|
|
|
This abuse of one one size value to handle another allocated array of a
different size is bad in itself, but at least now read/write code of
this modifier should not risk invalid memory access anymore.
NOTE: invalid memory access would in practice only happen in case endian
switch would be performed at read time I think (those switches only check
for given length being non-zero, not for a NULL data pointer...).
|
|
This is a bit tricky exceptional case, which originates to an original
motion tracking commit. Took a while to remember what it is ab out so
here is a comment for the future developers.
|
|
See f2c7b56f0f0eb9.
|
|
This isn't used, and I also see any use for it short-term.
|
|
This reverts the commits 8d9d5da13706b668b9bd0d631e00c9b00b73f3ea,
59cd616534b46ab85b4324a0886bd9eb8876a48b and
98a04ed4524234b1840dc039c2f356db5ac57f26.
The commits are causing issues with MSVC, see D14926. I'm working on a
different solution, but that will need some work.
|
|
curves_ops.cc uses RNA_Prototypes.h. so bf_rna
needs to build before bf_editor_curves.
|
|
Self describing title.
Also remove the layout inside the geometry shader as they are now generated
by the backend.
|
|
This was because the main `surface_vert.glsl` was changed to accomodate the
needs of the `ShaderCreateInfo` but was still used by the cryptomatte
shader. The fix is to include the same libraries as the material shaders
and bypass `attrib_load()`.
|
|
|
|
https://developercommunity.visualstudio.com/t/Alias-template-inside-fold-expression-fa/10040507
|
|
The variable was only used in some constexpr if-statements.
|
|
This creates a new curves object with the name of the particle system.
The generated curves match the current evaluated state of the active hair
particle system.
Attachment information is not transferred currently.
Differential Revision: https://developer.blender.org/D14908
|
|
The OBJ parser was primarily using StringRef for convenience, with
functions like "skip whitespace" or "parse a number" taking an input
stringref, representing an input line, and returning a new stringref,
representing the remainder of the line. This is convenient, but does
more work than strictly needed -- while parsing, only the "beginning"
of the line ever changes by moving forward; the end of the line
always stays the same. We can change the code to take a pair of
pointers (begin of line, end of line) as input, and make the
functions return the new begin of line pointer. This makes the return
value neatly fit into a processor register, which StringRef did not.
On Windows, this does result in non-trivial speedups in the actual
OBJ file parsing part, due to Windows calling convention where return
values larger than 64 bits are returned via memory. Does not
measurably affect performance on Mac/Linux, because the calling
convention there uses a pair of 64-bit registers to return a
StringRef.
End-to-end times of importing several test files, on Windows
(VS2022 build, Ryzen 5950X):
- Monkey subdivided to level 6, no normals (220MB file): 1.25s -> 0.85s
- Rungholt minecraft level (270MB file): 7.0s -> 5.8s
- Blender 3 splash scene (2.4GB file): 49.1s -> 45.5s
The full import process has a lot of other overhead besides actual
OBJ file parsing (mostly creating actual blender objects out of
parsed data). In pure parsing, in the monkey test scene above, the
parsing part goes 1.0s -> 0.6s.
Reviewed By: Howard Trickey
Differential Revision: https://developer.blender.org/D14936
|
|
This was caused by the `mb_data->obmat[]` being wrong because they are
now shared between the particle system and the object.
But Hair need the dupli parent matrix instead of the object matrix.
Disabling `Show Emitter` option fixes the bug.
To avoid this problem, request a different `EEVEE_ObjectMotionData`
for particle systems using a different key pointer in the hash.
This is a bit dirty but there is less code polution using this workaround.
Differential Revision: https://developer.blender.org/D14911
|
|
|
|
|
|
Regression in 90a23dec4650d63a836cb9e9969aab4d0da4ba2f.
|
|
|
|
|
|
Normals were being allocated, calculated & freed when the spin modified
merged was enabled.
|
|
|
|
Use a more semantically clear function in the tracking API.
|
|
|
|
Switch from a single function with a lot of branching at its top level
to dedicated function calls with own documentation.
|
|
Pattern is expected to be freely resized to any size, and the search
area s to become bigger when needed.
Remove confusing pattern size clamping which was actually clamping
search area.
There should be no functional changes.
|
|
Replace a generic int value with an enum.
Should be no functional changes.
|
|
Replace old-style define with an enumerator values. Also move to the
top of the file preparing for making those stronger typed.
|
|
Follows the code style
|
|
Follows the code style.
|
|
There are two problems when adding a paint slot to an object without an
existing material. First, the `invoke` method creates a material on the
object. This modifies the object even if the operation is not executed.
Second, the fill color defaults to black when there is no existing
material (even when adding a normal, bump, or displacement layer).
This patch moves the material creation to the `exec` method.
When no material exists on the object, a default Principled BSDF is
referenced for default colors in the `invoke` method.
Differential Revision: https://developer.blender.org/D14828
|
|
|
|
If merging is enabled, the mesh might be recreated before
the dirty flag can be cleared, which means the normals aren't
valid anymore. To fix this, clearing the dirty flag should happen
before the merging. This is an existing bug, just exposed by
more recent explicit dirty normal tagging.
|
|
|
|
Fall back onto the old behavior (use the render
color attribute) if the vertex color node's
attribute name is blank.
|