It was set to none, which draws as a dot instead of the already familiar
UV Map icon used in the UV Maps list and other places.
Affects:
* UV Map
* Tangent
* Normal Map
Following !113793 efforts to unify icons.
Currently the active attribute is stored as an index. This should be
changed to a string, but until then, adding or removing an attribute
changes the indeices. The workaround is to store the name and fix
the active attribute after the change.
Caused by a1cc621e1e. The "is_hair_length" value needs to be
set before `attr_input_name` is called because it uses the value to set
the attribute name with the "l" alias.
This node allows splitting up a geometry into groups. A group is defined as all
elements with the same group id. The output contains an instance per group.
The `Group ID` output can be used for further deterministic processing.
The node supports meshes, curves, point clouds and instances. It only works
on the top-level geometry, so it does not go into nested instances because it
also generates new instances.
Co-authored-by: Hans Goudey <hans@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/113083
Note: At the moment the node only supports
non-Grease Pencil materials.
But if the material socket is connected to the
modifier a Grease Pencil material can be used.
Part of #113602.
Ref !113816.
The complaint illustrates how text measurement can be broken by a
drawing callback. This is because overlays are setting global_font_size
value, which is used by subsequent drawing, but does not explicitly set
size on the global_font_default font, which is needed for measurement.
Pull Request: https://projects.blender.org/blender/blender/pulls/113868
The actual selection needs to be evaluated on the right domain, not
necessarily the domain from the field context. It's interpolated as
a separate step.
Also reuse the attribute accessor already assigned to a local variable.
Introduced during snap code refactoring.
It seemed wrong to overwrite the calculated nearest distance based only
on the original distance.
But this is intentional, (the code could be improved since there are
unnecessary tests to detect the closest object).
Note: At the moment the node only supports non-Grease Pencil materials.
But if the material socket is connected to the modifier a Grease Pencil
material can be used.
Part of #113602.
Co-authored-by: Hans Goudey <hans@blender.org>
Ref !113818.
Avoid the need to iterate over every curve, and only iterate over the
cyclic attribute if it exists. This removes the check that avoided
creating cyclic segments for curves with only two points. If that
was necessary, some of the complexity would return, but the
new `array_utils` function wouldn't be necessary.
Pull Request: https://projects.blender.org/blender/blender/pulls/113814
Previously, Grease Pencil used a radius convention where
1 "px" = 0.001 units. This "px" was the brush size which would be
stored in the stroke thickness and then scaled by the point pressure
factor. Finally, the render engine would divide this thickness value by
2000 (we're going from a thickness to a radius, hence the factor of
two) to convert back into blender units.
Store the radius now directly in blender units. This makes it
consistent with how hair curves handle the radius.
* Removes the scaling in the render engine.
* Makes sure the grease pencil primitives use the correct radii
* Changes the drawing tool to work with screen space radius
* Draws the drawing tool cursor in screen space
* Makes sure the scaling is done when converting from legacy
grease pencil objects
* Makes sure the scaling is done when loading previous files
Consequences for the draw tool:
* Since the tool has a radius input in pixels, it now works in screen space. This is a pretty big change to how it works by default before, so a new option will have to be added that allows the brush to be in "Scene" space. This is similar to how it works in sculpt mode. But this is a bigger change, so I would like to split that into a separate PR.
Pull Request: https://projects.blender.org/blender/blender/pulls/113770
When drawing node sockets an immediate mode buffer is created that can
contain all the node sockets of the node. Only visible node sockets will
then be added. Vulkan assumed that all elements in the buffer needed to
be drawn, resulting using uninitialzed memory for drawing node sockets.
This resulted in very colorful and big artifacts rendered in the node
editor. This was detected during drawing of node sockets, but would have
been visible in other places as well.
Pull Request: https://projects.blender.org/blender/blender/pulls/113830
Similar to #104426, this adds a simple operator to set attribute values
for curves edit mode. The operator is very basic and is only meant to
be a first step for more attribute editing features. Some of the
functionality could be achieved with node tools, but without dynamic
socket types or access to the active attribute, it would be incomplete.
Some of the RNA property registration, retrieval, and setting is reused
from the mesh edit mode operator. The rest of the logic is similar but
harder to de-duplicate.
Pull Request: https://projects.blender.org/blender/blender/pulls/105076
Changes include:
1. Replace `prop->flag |= PROP_xxx` with
`RNA_def_property_flag(prop, PROP_xxx)`,
use `RNA_def_property_clear_flag` to unset
2. Replace `srna->flag |= STRUCT_xxx` with
`RNA_def_struct_flag(srna, STRUCT_xxx)`,
use `RNA_def_struct_clear_flag` to unset
3. Replace `func->flag |= FUNC_xxx` with
`RNA_def_func_flag(func, FUNC_xxx)`
4. Replace `prop->flag_override |= PROPOVERRIDE_xxx` with
`RNA_def_func_override_flag(prop, PROPOVERRIDE_xxx`
Not changed:
1. Code setting PropertyRNA's `flag_internal` field.
`PropertyFlagIntern` is defined in rna_internal_types.h, while
other flags for PropertyRNA are all defined in RNA_types.hh.
I've tried to define similar flag setting functions for `flag_internal`
(see my commit 5036bd650c in the PR), but build fails with syntax
error. I'm not quite clear about dependencies between the files,
so I keep this part unchanged.
Pull Request: https://projects.blender.org/blender/blender/pulls/113807