New Line Art proposal 2023, feedback?

The past year I’ve worked on a proposal for an NPR engine that features line rendering support:
[NPR Proposal.md · GitHub]
The project is not yet approved and the proposal is not final, but I think is still worth discussing the approach proposed there.

IMO, it makes a lot of sense to integrate the line rendering system into the render engine itself, since it has several advantages:

  • Artists can have (per-pixel) control of the line stylization based on any shading feature (lighting, image and procedural textures…) and use the material nodes they already know.
  • Line rendering can be aware of renderer-side features, like masked transparency or vertex displacement.
  • It can be computed purely on the GPU, and can easily make use of the mesh loading and caching systems that are already in-place for rendering, so it’s much easier to get more optimal performance.
    For reference, it takes around 10ms on a 3060ti to render geometry-based contour lines for 9 million triangles:

The main disadvantage of this approach compared to LineArt is that it doesn’t support chaining-based stylization.
However, it may be possible to combine this approach with the chaining and stroke extraction from WangZiWei-Jiang’s algorithm to get the best of both worlds.

That said, temporally stable chaining is still a very tricky problem, so I think it is worth exploring other stylization options (like screen-space filters or photoshop style stamp-based strokes) except for cases where it’s absolutely necessary, like conversion to GP strokes.

12 Likes