code wiki / (root) / nx_gltf_skin_recipe_candidate_t340.nx

nx_gltf_skin_recipe_candidate_t340.nx source

↩ module page · 14 lines · 1089 B

1// Isolated composition candidate for the existing procedural generation caller. 2// No implicit hue/region; whole-surface model, not calibrated tissue or a per-part anatomical classification. 3import "nx_gltf_export_material_candidate_t340.nx" 4import "nx_nxa_texbake_lib.nx" 5func write_glb_skin_recipe(vbuf:*i64,fbuf:*i64,nv:i64,nf:i64,hue:i64,region:i64,path:*u8)->i64{ 6 if hue<0||hue>SI_GENE_MAX||region<NTB_FACE||region>NTB_GENS{return -2} 7 let rgb:*i64=sys_mmap_try(3*8) as *i64;let mat:*i64=sys_mmap_try(GL_MAT_WORDS*8) as *i64 8 if (rgb as i64)<=0||(mat as i64)<=0{if (rgb as i64)>0{sys_munmap_direct(rgb as *u8,3*8)};if (mat as i64)>0{sys_munmap_direct(mat as *u8,GL_MAT_WORDS*8)};return -1} 9 ntb_albedo_genome(hue,region,rgb) 10 mat[GL_MAT_R]=si_linear_of_byte(rgb[0]);mat[GL_MAT_G]=si_linear_of_byte(rgb[1]);mat[GL_MAT_B]=si_linear_of_byte(rgb[2]) 11 mat[GL_MAT_METALLIC]=0;mat[GL_MAT_ROUGHNESS]=ntb_rough_of_region(region) 12 let rc:i64=write_glb_material(vbuf,fbuf,nv,nf,mat,GL_MAT_WORDS,path) 13 sys_munmap_direct(rgb as *u8,3*8);sys_munmap_direct(mat as *u8,GL_MAT_WORDS*8);return rc 14}