code wiki / _hdl_build / nx_persongen_render_gate.nx

nx_persongen_render_gate.nx

buildroot/runtime/_hdl_build/nx_persongen_render_gate.nx

7998 B153 linesdepth 5pulls 10 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_persongen_render_gate.nx -- ★"BASE NOW" step 1 (operator chose Hybrid): render a GENERATED person (no photo) through our anisotropic Gaussian splatter with PROCEDURAL SKIN -- regional subsurface warmth (lips/nose/cheeks redder, forehead lighter, under-eye shadow) + per-vertex pore noise -- so the skin is NOT flat clay. This attacks the #1 photoreal cue (skin) sovereignly, no photo, no trained net. Honest: a step toward realism, not yet DAZ-photoreal (finer geometry + specular/normal maps + neural detail are the remaining rungs). T1 a generated person renders through the splatter (coherent face) T2 ★the skin has real VARIATION (per-Gaussian colour variance >> a flat-tone baseline) = not clay T3 determinism + PNG knowledge/nx_persongen_skin.png (3 views of one generated person, procedural skin) license_tier: ORIGINAL expect_exit: 0

dependencies 5 imports · 0 importers

nx_syscalls.nx nx_persongen.nx nx_meshgen.nx nx_gsplat.nx nx_png.nx nx_persongen_render_gate.nx

imports: nx_syscalls.nxnx_persongen.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 sdf_bytes persongen_build pg_seed pg_next pg_range pg_next ↻ 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 it_sin4096 ↻ faceanat_morph_width faceanat_morph_length faceanat_morph_jaw fa_scale faceanat_morph_eyes fa_scale ↻ faceanat_morph_lips fa_scale ↻ faceanat_morph_nose fa_scale ↻ faceanat_morph_cheek fa_scale ↻ pg_clamp mg_build mg_sample_sdf mg_fi sdf_eval

structs

none

consts

none

functions

16func 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
17func 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
18func lum(px: i64) -> i64 { return (px&255)+((px>>8)&255)+((px>>16)&255) }
called by 1: main
19func iabs(v: i64) -> i64 { if v<0 { return 0-v } return v }
called by 1: skin_at
23func skin_at(sr: i64, sg: i64, sb: i64, x: i64, y: i64, z: i64, outc: *i64) -> i64
called by 1: render_person calls 1: iabs
43func render_person(base: i64, gauss: *i64, nv: i64, vbuf: *i64, sr: i64, sg: i64, sb: i64) -> i64
62func main() -> i64