Info
Developers or artists interested in contributing are welcome to join at the links below.
- Workboard - plans, ongoing work, and community tasks
- Chat Channel - general development communication
- Video Call - dailies at 14:00 CEST
- Meeting Agendas and Notes - updated throughout the week
Week of 2021-11-22
- Unity builds (compiling files together to reduce build times by 2-3x, which can make development much more enjoyable)
- Rename legacy node files to prepare for unity builds. (Hans)
node_geo_legacy_*
- Node file namespaces (Jacques)
- Use file name.
- E.g.
blender::nodes::geo_node_set_position
- Rename legacy node files to prepare for unity builds. (Hans)
- Field inputs for derived data
- Working document from Johnny: New/Updated Input and Info Nodes - HackMD
- Index:
- Add “Domain Size” field output.
- Add “Factor” field output that is between 0 and 1.
- Attribute Domain Size
- Outputs a single value, not a field.
- Point, Edge, Face, Face Corner, Spline, Instance
- Benefits:
- No need to have a separate node for all geometry types
- Teaches about attribute domains
- The name is much less generic than the alternative nodes
- Instead of “Mesh Info”, “Curve Info”, “Point cloud Info”
- Vertex Neighbors
- Vertex Count(tooltip says that it’s the same as the neighboring edge count)
- Face Count
- Face Info (temporary name, “Face Neighbors” doesn’t work so well)
- Vertex Count
- Neighboring Face Count
- Edge Vertices
- Looks good
- Edge Direction
- Probably not worth the separate node when there is the “Edge Vertices” node
- That way the user can understand that there are two possible directions themselves
- Edge Length
- Also not necessary at this point with the more general “Edge Vertices” node.
- Could be added in the future for convenience, but that could wait.
- Edge Angle
- Looks good
- Eventually we could add another output, but it’s not clear what that should be yet.
- Face Area
- Looks good
- Curve Curvature
- Angle
- The angle between consecutive control points, in radians (0 for straight)
- Pro: Simple
- Con: Changes when the curve becomes more dense
- Radius
- The radius of an arc described by a control point and its neighbors
- Pro: Does not depend on density of curve
- Con: Depends on the size of the curve
- In the future we can add a toggle or separate inputs to consider the curvature according to Bezier handles
- Angle
- Curve Length
- The node can stay as it is, since the new outputs in the document are handled by the domain size node
- Curve Parameter
- Index in Spline looks good
- The node name makes more sense as “Spline Parameter”, a toggle could be added to consider the entire curve, or the node could be renamed.
- Rename the node to “Spline Parameter”
- The index output can be named simple “Index” then
- Spline Length
- “Point Count” output sounds good
- Curve Segment Length (Don’t use “Spline” because that often refers to the domain, and just “Segment” is too vague)
- The node sounds reasonable
- Refers to the length of the following segment (the segment of the same index as the point)
- On non-cyclic splines, the last point value is zero
- Point cloud info is handled by Attribute domain size node
- How to tell which domain fields are evaluated on?
- Could change the label “Face Selection”, etc. but that is too long, and has other issues
- Simply show the domain icon in front of “Selection”, great solution!
- Sadly that doesn’t work so well with node groups, and the domain might depend on another input.
- We should at least make a best effort to display that info in socket descriptions.
- Field node to retrieve an attribute from an index on the same geometry
- Design task should be added
- The transfer node is still the go-to way to get a single value from an index, that’s okay for now.
- Hans was away for the second half of the week, Jacques focused on performance improvements.