Blender Git Commit Log

Git Commits -> Revision ac83310

Revision ac83310 by Hans Goudey (master)
May 27, 2021, 14:08 (GMT)
Geometry Nodes: Draw curve data in the viewport

This patch adds relatively small changes to the curve draw
cache implementation in order to draw the curve data in the
viewport. The dependency graph iterator is also modified
so that it iterates over the curve geometry component, which
is presented to users as `Curve` data with a pointer to the
`CurveEval`

The idea with the spline data type in geometry nodes is that
curve data itself is only the control points, and any evaluated
data with faces is a mesh. That is mostly expected elsewhere in
Blender anyway. This means it's only necessary to implement
wire edge drawing of `CurveEval` data.

Adding a `CurveEval` pointer to `Curve` is in line with changes
I'd like to make in the future like using `CurveEval` in more places
such as edit mode.

An alternate solution involves converting the curve wire data
to a mesh, however, that requires copying all of the data, and
since avoiding it is rather simple and is in-line with future plans
anyway, I think doing it this way is better.

Differential Revision: https://developer.blender.org/D11351

Commit Details:

Full Hash: ac833108dbbaa5f2a6d62effe962eb289cc92291
Parent Commit: 5621a8e
Lines Changed: +195, -42

6 Modified Paths:

/source/blender/blenkernel/BKE_geometry_set.hh (+12, -0) (Diff)
/source/blender/blenkernel/intern/geometry_component_curve.cc (+33, -0) (Diff)
/source/blender/depsgraph/intern/depsgraph_query_iter.cc (+23, -0) (Diff)
/source/blender/draw/CMakeLists.txt (+1, -0) (Diff)
/source/blender/draw/intern/draw_cache_impl_curve.cc (+119, -42) (Diff)
/source/blender/makesdna/DNA_curve_types.h (+7, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021