Historically, caching these values may have had some advantages,
simplifying drawing object centers and selecting by object center.
Now the only uses of these values would calculate the projection
before use, so there is no reason to store run-time projection in DNA.
This also quiets a `-Wstring-overflow` warning.
Issue introduced by rB208b3a0472b3
which fixed a build issue on linux.
This fix is a band-aid at best but
reverting rB208b3a0472b3 is not
really an option since that would
break linux again.
This allows the creation of texture arrays from 1D/2D/Cube texture.
This is useful when the shader expect a texture array but the original
texture isn't.
gpencil_point_to_parent_space -> gpencil_point_to_world_space
The old name was not clear because it looked it was moving into
the object space, but really is doing the opposite.
gpencil_apply_parent->gpencil_world_to_object_space
gpencil_apply_parent_point->gpencil_world_to_object_space_point
The old name was not descriptive enough.
Crash triggers due to division by zero
fix is to increase minimum limit for `seg_repeat` to 1
Reviewed By: antoniov, frogstomp
Maniphest Tasks: T101504
Differential Revision: https://developer.blender.org/D16120
Even if multires in sculpt mode doesn't yet support color
attributes, we should at least upload white color to avoid
making everything black.
Also fixed a bug where multires PBVHs didn't have access to
their CustomData attribute layout, which PBVH draw needs.
Currently lookup of Object and Instancer attributes is completely
duplicated between Cycles, Eevee and Eevee Next. This is bad design,
so this patch aims to deduplicate it by introducing a common API
in blenkernel.
In case of Cycles this requires certain hacks, but according to
Brecht it is planned to be rewritten later for more direct access
to internal Blender data anyway.
Differential Revision: https://developer.blender.org/D16117
When e.g. grouping nodes into nodegroups, these would not show up
immediately in the Outliner (Blender File / Data API view).
Now send (unique combination, not used elsewhere) notifiers (and listen
for these in the Outliner).
Differential Revision: https://developer.blender.org/D16093
ED_view3d_win_to_3d_on_plane with do_clip enabled wasn't working in
non-camera orthographic views as it didn't take into account the ray
origin being centered to the view.
Resolve by testing viewport clipping after the ray has been projected.
Copy-by-value was used when iterating over unicode_samples which
then referenced an array from the value.
Resolve by referencing a const pointer to the unicode_sample array.
factor mode if topology or boundary modes are inactive
Factors mode (precomputing the automask) should initialize the
mask to 1.0 if no additive automasking modes are enabled, instead
of zero.
On NVidia GPUs, when the blue channel was between 0 and 0.1,
the overlay's alpha would increase, making it invisible.
With the `overlay_line_fb` frame buffer bound in `overlay_engine.cc`
there are two outputs to write to: the color and the line output, which
is used for making smooth antialiased lines. The overlay is in its
current position in the order of overlays so that it draws on top of
curve wire lines. Not writing to that second output is undefined
behavior, so fix it by writing zeros. In the future, the overlay
could be smoothed on curves using that second texture.
Thanks to Clément for the explanation of the issue!
After a lot of testing, this option is not required and
now this is managed by stroke_collsion.
If the stroke_collision is enabled, only collide strokes
are used.
If the cross point was in the extreme of the stroke the
collision was not detected because it could be
outside of the bbox.
Removed the bbox check because now it is
not necessary.