nx_gltf_load_preserve_t145.nx
buildroot/runtime/nx_gltf_load_preserve_t145.nx
about
nx_gltf_load.nx -- ★sovereign glTF (.glb) LOADER: parse a binary glTF back into nx_trimesh buffers, so the Nishi stack
(Nishi OS / Nishi browser) can NATIVELY VIEW a .glb -- and so we can render our own exports on our own renderer to prove
the round-trip (the honest-scope gap: "eyeball the model sovereignly"). Inverse of nx_gltf_mesh: includes an integer
IEEE-754 float32 DECODER. Loads POSITION + COLOR_0 + indices from our exporter's layout; recomputes normals. license_tier: ORIGINAL
dependencies 4 imports · 1 importers
imports: nx_syscalls.nxnx_trimesh.nxnx_compare_openapi.nxnx_base64.nx
imported by: nx_gltf_preserve_gate_t145.nx
structs
| none |
consts
| 7 | const K_MAGIC_8388607: i64 = 8388607 |
| 8 | const K_MAGIC_8388608: i64 = 8388608 |
| 9 | const K_MAGIC_65536: i64 = 65536 |
| 10 | const K_MAGIC_2147483647: i64 = 2147483647 |
| 11 | const K_MAGIC_2000000000: i64 = 2000000000 |
| 12 | const K_MAGIC_1024: i64 = 1024 |
| 13 | const K_MAGIC_5123: i64 = 5123 |
| 14 | const K_MAGIC_5125: i64 = 5125 |
| 470 | const K_MAGIC_PRIMCAP: i64 = 512 |
| 471 | const K_MAGIC_PSTRIDE: i64 = 13 |
functions
| 17 | func gll_f32i(bits: i64) -> i64 |
| 31 | func gll_ru8(buf: *u8, at: i64) -> i64 { return buf[at] as i64 } called by 1: gltf_load |
| 32 | func gll_ru32(buf: *u8, at: i64) -> i64 { return (buf[at] as i64) + ((buf[at+1] as i64)<<8) + ((buf[at+2] as i64)<<16) + ((buf[at+3] as i64)<<24) } |
| 33 | func gll_align4(x: i64) -> i64 { return (x+3)/4*4 } |
| 34 | func gll_slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } |
| 38 | func gltf_load_why() -> *u8 { if GLL_WHY == 0 { return "ok" as *u8 } return GLL_WHY as *u8 } |
| 39 | func gll_refuse(why: *u8) -> i64 |
| 50 | func gll_inb(off: i64, need: i64, size: i64) -> i64 |
| 58 | func gll_idx3(a: i64, b: i64, c: i64, nv: i64) -> i64 |
| 68 | func gll_nth_num(buf: *u8, start: i64, end: i64, needle: *u8, n: i64) -> i64 |
| 94 | func gltf_load(path: *u8) -> i64 |
| 155 | func gls_ru16(buf: *u8, at: i64) -> i64 { return (buf[at] as i64) + ((buf[at+1] as i64)<<8) } |
| 157 | func gls_f32s(bits: i64, k: i64) -> i64 { if (bits & K_MAGIC_2147483647) == 0 { return 0 } return gll_f32i(bits + (k<<23)) } |
| 158 | func gls_find(buf: *u8, end: i64, from: i64, needle: *u8) -> i64 |
| 170 | func gls_key_int(buf: *u8, s: i64, e: i64, key: *u8) -> i64 called by 5: gls_accessorgls_bufviewgls_image_slicegltf_load_stdgltf_load_all calls 2: gls_findgll_slen |
| 195 | func gls_arr_obj(buf: *u8, end: i64, arrName: *u8, k: i64, out: *i64) -> i64 called by 5: gls_accessorgls_bufviewgls_image_slicegltf_load_stdgltf_load_all calls 1: gls_arr_obj_from |
| 200 | func gls_arr_obj_from(buf: *u8, end: i64, from: i64, arrName: *u8, k: i64, out: *i64) -> i64 |
| 227 | func gls_accessor(buf: *u8, jE: i64, A: i64, out: *i64) -> i64 |
| 241 | func gls_bufview(buf: *u8, jE: i64, B: i64, out: *i64) -> i64 |
| 253 | func gls_image_slice(buf: *u8, size: i64, out: *i64) -> i64 |
| 271 | func gls_basecolor(buf: *u8, jE: i64, out: *i64) -> i64 { return gls_basecolor_in(buf, 0, jE, out) } |
| 273 | func gls_basecolor_in(buf: *u8, s: i64, jE: i64, out: *i64) -> i64 |
| 325 | func gltf_load_std(path: *u8, target: i64) -> i64 |
| 473 | func gltf_load_all(path: *u8, target: i64) -> i64 |
| 676 | func glp_eq(t: *NxJsonTok, key: *u8) -> i64 |
| 685 | func glp_member(t: *NxJsonTok, key: *u8, out: *i64, states: *u8, cap: i64) -> i64 |
| 712 | func glp_reset(t: *NxJsonTok, src: *u8, n: i64, pos: i64) |
| 715 | func glp_u32(out:*u8, at:i64, value:i64) called by 1: glp_build |
| 720 | func glp_build(src:*u8,n:i64,out:*u8,cap:i64,t:*NxJsonTok,states:*u8,sp:*i64)->i64 called by 1: gltf_json_to_glb calls 13: glp_resetcgo_value_endglp_memberglp_eqnx_json_nextgll_slen+7 |
| 794 | func gltf_json_to_glb(src:*u8,n:i64,out:*u8,cap:i64)->i64 |