code wiki / _hdl_build / nx_char_gen.nx

nx_char_gen.nx

buildroot/runtime/_hdl_build/nx_char_gen.nx

4676 B73 linesdepth 4pulls 5 transitivereach 0 importersview sourcekind tooltopic char
docsdependenciesstructsconstsfunctions

about

nx_char_gen.nx -- a SOVEREIGN parametric CHARACTER generator (our analog to a DAZ Genesis figure: a character from PARAMETERS, rendered to a 2D portrait by our OWN integer rasterizer -- no DAZ, no third-party, no float). Top VNs (Being a DIK etc.) pose+render reusable 3D figures to 2D stills; this is the first rung of doing that sovereignly: params (skin/hair/hairstyle/eyes/outfit) -> a stylized VN portrait PNG. HONEST: stylized 2D, not photoreal 3D -- but it PROVES a reusable parametric pipeline (same code, different params -> different characters). license_tier: ORIGINAL expect_exit: 0

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_shade.nx nx_png.nx nx_char_gen.nx

imports: nx_syscalls.nxnx_shade.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 sys_mmap sys_mkdir portrait sh_rgb sh_clear efill frect sh_r sh_g sh_b sh_rgb ↻ write_png sys_mmap ↻ png_g png_paeth png_sabs dfe_compress sys_mmap ↻ dfe_fill_tables dfe_deflate sys_mmap ↻ dfe_bits dfe_hash dfe_matchlen dfe_sym dfe_bits ↻ dfe_rev dfe_rev ↻ sys_munmap sys_munmap ↻ png_be32 png_adler32 png_crc32 sys_openat_wr sys_write sys_close aw sys_write ↻ sys_exit

structs

none

consts

none

functions

11func aw(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
12func frect(fb: *i64, w: i64, h: i64, x0: i64, y0: i64, x1: i64, y1: i64, c: i64) -> i64
called by 1: portrait
18func efill(fb: *i64, w: i64, h: i64, cx: i64, cy: i64, rx: i64, ry: i64, c: i64) -> i64
called by 1: portrait
33func portrait(fb: *i64, W: i64, H: i64, skin: i64, hair: i64, hstyle: i64, eyec: i64, outfit: i64) -> i64
called by 1: main calls 7: sh_rgbsh_clearefillfrectsh_rsh_g+1
61func main(argc: i64, argv: *i64) -> i64