Nurbs #144
Replies: 1 comment
|
Worth engaging with properly, because the premise is reasonable but the conclusion does not follow for this particular application. Pascal's scene is not a freeform surface model — it is a parametric building model. A wall is stored as two endpoints, a thickness, and an optional sagitta ( That matters for the performance argument. The claim of a 10x gain assumes the bottleneck is curve evaluation. It is not. The costs in this app are boolean operations for openings, wall miter resolution at junctions, material and draw-call count, and geometry rebuild churn when the scene changes — the profiling work in the wall-move and snapping PRs went into exactly those. Swapping the small amount of curve sampling we do to a NURBS kernel would not move any of them, and evaluating a NURBS surface to a render mesh means tessellating it anyway, so you land back at triangles with an extra library in the path. Where NURBS genuinely wins is smooth freeform surfaces with continuity requirements — automotive and product surfacing, hull design. Architecture at the scale Pascal targets is dominated by planar and swept-planar geometry, where a parametric description is both smaller and more editable. "Move this wall to 3.4 m" is a natural operation on endpoints and an awkward one on a control cage. The place your instinct would pay off is curved-surface roofs and shells — barrel vaults, domes, freeform canopies. Those we do not model well today. If that is the underlying interest, a concrete proposal for a shell or vault node would be much more actionable than a representation change, and I would engage with it seriously. So: not planned as an engine change, and not because it is a bad idea in general — it is a mismatch with a parametric building model. Leaving this open as an Ideas thread since the curved-shell gap it points at is real. |
Uh oh!
There was an error while loading. Please reload this page.
Why don't we create it Nurbs based ? Yeah that's true that with Threejs nurbs are partially supported but if we use a nurbs engine, one of these open source projects, then only render with Threejs ? This will add up to 10x performance ! 🌷 😎. Unfortunately I am too busy to contribute but yeah, just a discussion, please if you have any ideas or questions, share with me.!
All reactions