code wiki / (root) / nx_fbx_import.nx

nx_fbx_import.nx

buildroot/runtime/nx_fbx_import.nx

8251 B156 linesdepth 7pulls 7 transitivereach 31 importersview sourcekind librarytopic fbx
docsdependenciesstructsconstsfunctions

about

nx_fbx_import.nx -- binary FBX GEOMETRY extraction. Format knowledge lives in nx_fbx_core; this file only knows what it wants (Vertices + PolygonVertexIndex -> fx1024 triangles). ★CONSOLIDATED (seq1788). The node walk was written twice -- here and in nx_fbx_rig.nx (the rig survey: joints, skin clusters, weights, animation curves, emits nothing by design). The purposes differ; the FORMAT READING did not. Both now share nx_fbx_core, so a node-format bug has one home. The consolidation also FIXED A REAL CAPABILITY GAP for free: this reader used to REFUSE v7500+ outright while nx_fbx_rig already handled u64 offsets. Sharing the header decoder means geometry extraction inherits that instead of re-deriving it. ★POLYGON INDICES ARE XOR-TERMINATED: a NEGATIVE index marks the last vertex of a polygon and its true value is -v-1. Missing that reads every polygon one vertex short and silently yields a shredded mesh -- plausible counts over garbage, the failure shape this lane keeps meeting. usage as a lib: fbx_read(path, vbuf, fbuf, vcap, fcap, counts) -> 0 ok, negative on error counts[0]=nv counts[1]=ntri counts[2]=nodes counts[3]=nVertices counts[4]=nPolyIdx counts[5]=nGeometry counts[6]=max_arraylen counts[7]=decode_fails license_tier: ORIGINAL

dependencies 1 imports · 6 importers

nx_fbx_core.nx nx_fbx_import.nx nx_fbx2nxa.nx nx_fbx_probe.nx nx_knight_bind_t24.nx nx_nxa_bind.nx nx_nxa_bind_gate_t29.nx nx_nxa_bind_t29.nx

imports: nx_fbx_core.nx

imported by: nx_fbx2nxa.nxnx_fbx_probe.nxnx_knight_bind_t24.nxnx_nxa_bind.nxnx_nxa_bind_gate_t29.nxnx_nxa_bind_t29.nx

structs

none

consts

none

functions

22func fbx_walk(buf: *u8, n: i64, pos0: i64, end: i64, st: *i64) -> i64
126func fbx_read(path: *u8, vbuf: *i64, fbuf: *i64, vcap: i64, fcap: i64, counts: *i64) -> i64