Page MenuHome

Geometry Nodes: Vertices from Subdivided Curve to Mesh geometry don't inherit Integer Attributes
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows-8.1 64 Bits
Graphics card: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2 4.5.0 NVIDIA 466.47

Blender Version
Broken: 3.3.0 Alpha, commit date: 2022-05-25 21:21, branch: master, hash: dc6fe73e707f
Worked: -

Short description of error
Sorry about the title.

Vertices created by subdividing a mesh generated by Curve to Mesh don't inherit attributes of Integer type stored or captured when the geometry was still a curve. The issue isn't specific to the Curve Domains used to store the attribute (Points or Spline), it's about the attribute data type. Other attribute types get inherited by the later converted mesh vertices without issues.

Exact steps for others to reproduce the error

  1. Store any Integer in a Curve geometry. You can use Point or Spline as Domain, it doesn't matter.
  2. Convert it with Curve to Mesh.
  3. Plug it into a Subdivide Mesh node and take a look at the Spreadsheet. New vertices will be always 0.
  4. For comparison, use a Store Named Attribute of the Float type.

Event Timeline

Crowe (crowe) added a comment.EditedMay 28 2022, 12:06 AM

To add more info that may be connected to this issue, something really weird is up with resampling/subdividing, numeric attributes in general and Curve to Mesh. Integers makes it obvious, but I got erratic behavior with floats too.

Sometimes, resampling a curve after setting an attribute can result in glaringly incorrect integers and stealthily incorrect floats. Look at this:


(note: these are quick composites to highlight the relevant data)

That float isn't 3. It's 2.9999998, because using a Compare Equal node with Float as type, B 2.9999998 and Epsilon of 0 successfully isolates the buggy point 37.

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Needs Information from Developers.May 30 2022, 10:12 PM

I'm not sure if this is intentional.
Integer interpolation is not something usual.
OpenGL shaders for example do not interpolate integer attributes.

So needs clarification from the Geometry Nodes team.

Jacques Lucke (JacquesLucke) changed the task status from Needs Information from Developers to Confirmed.May 31 2022, 6:51 PM
Hans Goudey (HooglyBoogly) changed the subtype of this task from "Report" to "Bug".May 31 2022, 7:02 PM