code wiki / _hdl_build / nx_gsplat_aniso_gate.nx

nx_gsplat_aniso_gate.nx

buildroot/runtime/_hdl_build/nx_gsplat_aniso_gate.nx

6784 B120 linesdepth 4pulls 9 transitivereach 0 importersview sourcekind gate/prooftopic gsplat
docsdependenciesstructsconstsfunctions

about

nx_gsplat_aniso_gate.nx -- ★ANISOTROPIC surface splatting (the defining 3DGS feature). Oriented ellipse splats (surfels aligned to the surface normal) instead of isotropic blobs -> smooth coverage, no dotty grid. T1 ★ANISOTROPY: an EDGE-ON surfel (normal in the screen plane) renders a THIN, elongated ellipse; a FACE-ON surfel (normal toward camera) renders a round splat -- the aspect ratios differ sharply (orientation is real) T2 the anatomical mesh, splatted as surface-aligned surfels, covers the face densely (no isotropic-grid holes) + eyeball PNG knowledge/nx_gsplat_face_aniso.png T3 determinism license_tier: ORIGINAL expect_exit: 0

dependencies 5 imports · 0 importers

nx_syscalls.nx nx_faceanat.nx nx_meshgen.nx nx_gsplat.nx nx_png.nx nx_gsplat_aniso_gate.nx

imports: nx_syscalls.nxnx_faceanat.nxnx_meshgen.nxnx_gsplat.nxnx_png.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main hw sys_write gs_w gs_h sys_mmap gs_nb gs_expn gs_build_explut gs_set_aniso gs_render_aniso it_sin4096 it_cos4096 it_sin4096 ↻ gs_isqrt gs_proj_x gs_proj_y gs_clear lum pn sys_mmap ↻ sys_write ↻ sdf_bytes faceanat_build sdf_clear_ops sdf_set_floor sdf_set_mtx_amp fa_tissue_z sdf_set_op sdf_set_mat sdf_set_rot it_cos4096 ↻ it_sin4096 ↻ mg_build mg_sample_sdf mg_fi sdf_eval sdf_ellip sdf_isqrt sdf_ellip_rot

structs

none

consts

none

functions

15func hw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 1: main calls 1: sys_write
16func pn(v: i64) -> i64 { let b: *u8=sys_mmap(32) as *u8; var x: i64=v; var ng: i64=0; if x<0{ng=1;x=0-x} var i: i64=31; if x==0{b[i]=48 as u8;i=i-1} while x>0{b[i]=(48+x%10) as u8;x=x/10;i=i-1} if ng==1{b[i]=45 as u8;i=i-1} sys_write(1,(b as i64+i+1) as *u8,31-i); return 0 }
called by 1: main calls 2: sys_mmapsys_write
17func lum(px: i64) -> i64 { return (px & 255) + ((px >> 8) & 255) + ((px >> 16) & 255) }
called by 1: main
19func main() -> i64