code wiki / (root) / nx_bezier_patch.nx

nx_bezier_patch.nx

buildroot/runtime/nx_bezier_patch.nx

2581 B76 linesdepth 3pulls 4 transitivereach 1 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_bezier_patch.nx -- PARAMETRIC SPLINE SURFACE: a bicubic Bezier tensor-product patch (the non-rational core of NURBS, and exactly what D3D11+ hull/domain tessellation shaders evaluate). A 4x4 control net -> S(u,v) via the cubic Bernstein basis -> tessellated triangle mesh. Smooth CAD/industrial forms from a small control net. Corners are INTERPOLATED (Bezier property); interior control points PULL the surface (not interpolated) = smoothness. Integer Bernstein numerators (denominator N^3 each -> N^6 for the tensor product); exact at the corners+center. license_tier: ORIGINAL

dependencies 2 imports · 1 importers

nx_syscalls.nx nx_mesh3.nx nx_bezier_patch.nx nx_bezier_patch_gate.nx

imports: nx_syscalls.nxnx_mesh3.nx

imported by: nx_bezier_patch_gate.nx

structs

none

consts

none

functions

11func bez_bern(a: i64, i: i64, N: i64) -> i64
called by 1: bez_eval
20func bez_eval(net: *i64, i: i64, j: i64, N: i64, out: *i64) -> i64
called by 1: bez_tessellate calls 1: bez_bern
47func bez_tessellate(net: *i64, N: i64, mesh: i64) -> i64