Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New nodes: shape/curve primitives #1389

Merged
merged 12 commits into from
Aug 27, 2023
Merged

New nodes: shape/curve primitives #1389

merged 12 commits into from
Aug 27, 2023

Conversation

Ezbaze
Copy link
Contributor

@Ezbaze Ezbaze commented Aug 14, 2023

Part of #912

New Nodes:

  • Line
  • Spline
  • Rectangle
  • Circle
  • Elipse
  • Polygon
  • Star

@Keavon Keavon changed the title Add new Primitive Shape/Curve Nodes Add new primitive shape/curve nodes Aug 14, 2023
@Keavon
Copy link
Member

Keavon commented Aug 14, 2023

Shouldn't 'Spline' be called 'Arc'? Or alternatively, take N inputs if that'd be possible.

@Ezbaze
Copy link
Contributor Author

Ezbaze commented Aug 15, 2023

Shouldn't 'Spline' be called 'Arc'? Or alternatively, take N inputs if that'd be possible.

I think calling it a 'Arc' would be a bit misleading as you wouldn't really be able to use it in that mannar.

As for the "N inputs", I was thinking of making that a seperate mode inside the node itself or making it into a seperate node entirely?

Technically the 'Spline' node resembles the 'Quadratic Bezier' node in Blender

@Keavon
Copy link
Member

Keavon commented Aug 15, 2023

I can't imagine that this Spline node is all that useful all on its own, but the n-input Spline node likely would be useful (and would act as a superset, so your three-point use case is covered using it). I suggest changing it to support the n-input case.

@Ezbaze
Copy link
Contributor Author

Ezbaze commented Aug 15, 2023

Yes, it would also allow the ( #1125 ) to be completed.

Additionally I think it would be good to modify how the List Inputs currently function (Eg. Stroke Node -> Dashed Lengths ) to function similarly to how the Gradient Input functions, and ideally it would also be good to have an input that takes more than one input (Eg. Join Geometry Node) to make it easier to join Lists (And it would be useful for other types of nodes like the Vector Ops)

  • Gradient Input
    image

  • Join Geometry Node
    image

@Keavon
Copy link
Member

Keavon commented Aug 15, 2023

Yes, that would be a good improvement! Feel free to implement that.

Regarding the multi-input node connections, we should ask @TrueDoctor about any limitations his Graphene system design might impose.

@TrueDoctor
Copy link
Member

Yes, it would also allow the ( #1125 ) to be completed.

Additionally I think it would be good to modify how the List Inputs currently function (Eg. Stroke Node -> Dashed Lengths ) to function similarly to how the Gradient Input functions, and ideally it would also be good to have an input that takes more than one input (Eg. Join Geometry Node) to make it easier to join Lists (And it would be useful for other types of nodes like the Vector Ops)

  • Gradient Input
    image
  • Join Geometry Node
    image

there is a graphene-idiomatic way to construct lists by basically using vertical compositing to chain together multiple push nodes which you could then feed into the list input. You could then of course hide the layer stack to reduce visual clutter and in general design abstractions which hide this from the user, but that is what has to happen in the backend.

Copy link
Member

@0HyperCube 0HyperCube left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works well - I'm excited to see these integrated into the tools.

@Keavon Keavon merged commit 226b962 into master Aug 27, 2023
2 checks passed
@Keavon Keavon deleted the new-primitives branch August 27, 2023 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants