GPv3: Geometry Node support via the curve nodes #113602

Open
opened 2023-10-12 14:51:58 +02:00 by Dalai Felinto · 1 comment

Work in progress

Waiting for review:

Missing

  • Apply Modifier (Falk)
  • Duplicate Elements (Falk)
  • Realize Instance (Falk) !113844
  • Viewer Node (Jacques)
  • Points and Curves attribute propagation on Instance on Points (Jacques)

Design discussion

  • Sample Curve
  • Sample Index

Working

Should not be ported:

  • Deform Curves on Surface
  • Handle Type Selection
  • Interpolate Curves
  • Set Handle Positions
  • Set Handle Type
  • Set Spline Type

Committed:

"Automatically" working 3931a54e08 e1fb095f0e :

  • Bounding Box 873453005d
  • Curve Handle Positions
  • Curve of Point
  • Curve Tangent
  • Curve Tilt
  • Endpoint Selection
  • Geometry to Instance
  • Is Spline Cyclic
  • Material Index
  • Offset Point in Curve
  • Points of Curve
  • Spline Length
  • Spline Parameter
  • Spline Resolution

Known Issues:

  • Radius has a scaled up factor which will affect any node that creates points from grease pencil. !113770
  • Crash/assert when going to edit mode with Resample curve - introduced by 49b21eba11.
  • Material socket only supports non-Grease Pencil materials.

Design topics

Layer as Instances

The nodes that convert from grease pencil to a new data type output instances. This way artists can easily reconstruct the layers preserving their original IDs, and with their attributes propagated as instance attributes. Those are:

  • Convex Hull
  • Curve to Mesh
  • Curve to Points
  • Fill Curve
  • Instance on Points

Note that the Bounding Box is considered a special case and it outputs a single mesh containing the entire geometry bounding box (with all layers combined).

Stacking Layers

The nodes that combine grease pencil objects, stack their layers together, one after the other (as opposed to merge them). Those are:

  • Join Geometry
  • Realize Instances
# Work in progress Waiting for review: * Join Geometry !113844 # Missing * Apply Modifier (Falk) * Duplicate Elements (Falk) * Realize Instance (Falk) !113844 * Viewer Node (Jacques) * Points and Curves attribute propagation on Instance on Points (Jacques) # Design discussion * Sample Curve * Sample Index # Working Should not be ported: * Deform Curves on Surface * Handle Type Selection * Interpolate Curves * Set Handle Positions * Set Handle Type * Set Spline Type Committed: * Blur Attribute d7fbd92ca73d * Convex Hull dd8d3ec27b70 * Curve Fill 2d9ea10892b2 * Curve Length da2877f40198 * Curve to Mesh 4a117554580f * Curve to Points 1f680c38592b 6853d787dbe4 * Curve Trim f88c2b6c460a * Delete Geometry 47cfeb45d854 a89bb7632afd * Domain Size c620b0b00eac * Fillet Curve f54d5df2fc84 * Instance on Points 94530317309 * Material Selection 42f71c9dcabe * Normal 7a73f792edad * Replace Material c5ed37a5c085 * Resample Curve 3f13471d65e9 8e5f1e3d9f4b9 * Reverse Curve a93238a9221a * Separate Components 9e9fae7ec0d4 * Separate Geometry 47cfeb45d854 a89bb7632afd * Set Curve Normal 16b7977bb559 * Set Curve Radius 87e03b3f97eb * Set Curve Tilt 493674435ff6 * Set Material 9a967d26fdbc * Set Material Index e773cc296777 * Set Position 3931a54e08b3 * Set Spline Cyclic d3fea733a1cd * Set Spline Resolution a92cfc2754f0 * Subdivide Curve 64f1ee14d8a1 8086293989e3 * Transform Geometry 43a60ca38ef9 "Automatically" working 3931a54e08b3 e1fb095f0e5e : * Bounding Box 873453005d15 * Curve Handle Positions * Curve of Point * Curve Tangent * Curve Tilt * Endpoint Selection * Geometry to Instance * Is Spline Cyclic * Material Index * Offset Point in Curve * Points of Curve * Spline Length * Spline Parameter * Spline Resolution Known Issues: * [x] Radius has a scaled up factor which will affect any node that creates points from grease pencil. !113770 * [x] Crash/assert when going to edit mode with Resample curve - introduced by 49b21eba11c2. * [x] Material socket only supports non-Grease Pencil materials. --- # Design topics ## Layer as Instances The nodes that convert from grease pencil to a new data type output instances. This way artists can easily reconstruct the layers preserving their original IDs, and with their attributes propagated as instance attributes. Those are: * Convex Hull * Curve to Mesh * Curve to Points * Fill Curve * Instance on Points Note that the Bounding Box is considered a special case and it outputs a single mesh containing the entire geometry bounding box (with all layers combined). ## Stacking Layers The nodes that combine grease pencil objects, stack their layers together, one after the other (as opposed to merge them). Those are: * Join Geometry * Realize Instances
Dalai Felinto added the
Interest
Geometry Nodes
Module
Grease Pencil
Type
To Do
labels 2023-10-12 14:51:58 +02:00
Dalai Felinto added this to the Grease Pencil project 2023-10-12 14:52:00 +02:00
Dalai Felinto self-assigned this 2023-10-12 14:52:36 +02:00
Member

Sample Curve

Think this one can't be supported as it is now

> Sample Curve Think this one can't be supported as it is now
Dalai Felinto referenced this issue from a commit 2023-10-12 17:30:30 +02:00
Dalai Felinto referenced this issue from a commit 2023-10-13 19:48:31 +02:00
Hans Goudey referenced this issue from a commit 2023-10-17 18:30:49 +02:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#113602
No description provided.