nx_skin_ita.nx
buildroot/runtime/nx_skin_ita.nx
about
dependencies 1 imports · 38 importers
diagram shows first 10 each side; +0 more imports, +28 more importers in the complete lists below.
imports: nx_syscalls.nx
imported by: nx_avatar_splat.nxnx_craft_before_placement_t316.nxnx_id_palette.nxnx_movement_base_engine_t139.nxnx_nxa_texbake_decode_t279.nxnx_nxa_texbake_lib.nxnx_nxa_texbake_region_capacity_t278.nxnx_nxa_texbake_region_edge_t278.nxnx_nxa_texbake_region_lib.nxnx_skin_ita_gate.nxnx_skinsample_lib.nxnx_wasm_craft.nxnx_wasm_craft_body_t137.nxnx_wasm_craft_contact_candidate.nxnx_wasm_craft_dunes_t70.nxnx_wasm_craft_gait_candidate.nxnx_wasm_craft_gait_candidate_t139.nxnx_wasm_craft_imported_body_t41.nxnx_wasm_craft_imported_body_t42.nxnx_wasm_craft_imported_body_t49.nxnx_wasm_craft_imported_t262.nxnx_wasm_craft_inspection_bounds_t181.nxnx_wasm_craft_inspection_distance_t218.nxnx_wasm_craft_inspection_t142.nxnx_wasm_craft_journal_index_t21.nxnx_wasm_craft_journal_index_t21_before_t44.nxnx_wasm_craft_lookup_candidate.nxnx_wasm_craft_move_t72.nxnx_wasm_craft_pre_inspection_t142.nxnx_wasm_craft_recovery_t20.nxnx_wasm_craft_relief_adopt_t143.nxnx_wasm_craft_relief_save_t143.nxnx_wasm_craft_relief_t143.nxnx_wasm_craft_residency_t44.nxnx_wasm_craft_turn_candidate_t139.nxnx_wasm_craft_visitors_canonical_t142.nxnx_wasm_craft_visitors_inspection_t142.nxnx_wasm_craft_visitors_t140.nx
structs
| none |
consts
| 36 | const SI_E3: i64 = 1000 // milli-units: L*, a*, b* |
| 37 | const SI_E4: i64 = 10000 // the f() domain in the L*a*b* transform |
| 38 | const SI_E5: i64 = 100000 // linear light and XYZ, matching nx_eink_tone's 1e5 convention |
| 39 | const SI_E7: i64 = 10000000 |
| 40 | const SI_E12: i64 = 1000000000000 |
| 44 | const SI_TAN_55: i64 = 1428 |
| 45 | const SI_TAN_41: i64 = 869 |
| 46 | const SI_TAN_28: i64 = 532 |
| 47 | const SI_TAN_10: i64 = 176 |
| 48 | const SI_TAN_N30: i64 = 0 - 577 |
| 53 | const SI_TAN_N55: i64 = 0 - 1428 |
| 54 | const SI_TAN_62: i64 = 1881 |
| 56 | const SI_C_VERYLIGHT: i64 = 0 |
| 57 | const SI_C_LIGHT: i64 = 1 |
| 58 | const SI_C_INTERMEDIATE: i64 = 2 |
| 59 | const SI_C_TAN: i64 = 3 |
| 60 | const SI_C_BROWN: i64 = 4 |
| 61 | const SI_C_DARK: i64 = 5 |
| 62 | const SI_NCLASS: i64 = 6 |
| 65 | const SI_A_STAR: i64 = 12000 // a* = 12.0, skin redness |
| 66 | const SI_B_STAR: i64 = 13000 // b* = 13.0, skin yellowness (literature-typical band is ~10-22; |
| 69 | const SI_L_PIVOT: i64 = 50000 // L* = 50, the pivot the ITA definition is written about |
| 72 | const SI_DL_FACE: i64 = 1500 // face reads slightly lighter (perfusion, less exposure keratin) |
| 73 | const SI_DL_TORSO: i64 = 0 // the reference region |
| 74 | const SI_DL_LIMBS: i64 = 0 - 2000 // limbs read slightly darker |
| 75 | const SI_DL_GENS: i64 = 0 - 1000 |
| 78 | const SI_GENE_MAX: i64 = 1000 // nx_breeding GN_T_HUE range is 0..1000 |
| 84 | const SI_MODEL_V: i64 = 1 |
| 87 | const SI_F_DELTA: i64 = 2069 // 6/29 x 1e4 |
| 88 | const SI_F_OFF: i64 = 1379 // 4/29 x 1e4 |
| 89 | const SI_F_LINK: i64 = 1284 // 3*(6/29)^2 x 1e4 |
| 90 | const SI_L_ADD: i64 = 16000 // the +16 of L* = 116 f(Y) - 16, x 1e3 |
| 91 | const SI_L_DIV: i64 = 116 |
| 92 | const SI_A_DIV: i64 = 50 // a*/500 expressed in the 1e4 f-domain |
| 93 | const SI_B_DIV: i64 = 20 // b*/200 expressed in the 1e4 f-domain |
| 95 | const SI_XN: i64 = 95047 |
| 96 | const SI_ZN: i64 = 108883 |
| 98 | const SI_M_RX: i64 = 32406 |
| 99 | const SI_M_RY: i64 = 0 - 15372 |
| 100 | const SI_M_RZ: i64 = 0 - 4986 |
| 101 | const SI_M_GX: i64 = 0 - 9689 |
| 102 | const SI_M_GY: i64 = 18758 |
| 103 | const SI_M_GZ: i64 = 415 |
| 104 | const SI_M_BX: i64 = 557 |
| 105 | const SI_M_BY: i64 = 0 - 2040 |
| 106 | const SI_M_BZ: i64 = 10570 |
| 108 | const SI_T_KNEE: i64 = 4045 // 0.04045 |
| 109 | const SI_T_SLOPE: i64 = 1292 // 12.92 x 100 |
| 110 | const SI_T_A: i64 = 5500 // 0.055 x 1e5 |
| 111 | const SI_T_S: i64 = 105500 // 1.055 x 1e5 |
| 112 | const SI_BYTE_MAX: i64 = 255 |
functions
| 116 | func si_root5_e3(x_e3: i64) -> i64 called by 1: si_linear_of_byte |
| 133 | func si_cbrt_e5(x_e5: i64) -> i64 |
| 149 | func si_linear_of_byte(s: i64) -> i64 |
| 160 | func si_byte_of_linear(c_e5: i64) -> i64 |
| 179 | func si_finv_e5(t_e4: i64) -> i64 called by 1: si_srgb_of_lab |
| 185 | func si_srgb_of_lab(l_e3: i64, a_e3: i64, b_e3: i64, out3: *i64) -> i64 |
| 202 | func si_lstar_of_byte(r: i64, g: i64, b: i64) -> i64 |
| 215 | func si_lstar_of_gene(hue: i64, region_dl: i64) -> i64 |
| 224 | func si_class_of_lstar(l_e3: i64) -> i64 called by 1: main |
| 235 | func si_albedo_of_gene(hue: i64, region_dl: i64, out3: *i64) -> i64 called by 5: maingn_palette_skin_srgbntb_albedo_genomentb_albedo_genomemain calls 2: si_lstar_of_genesi_srgb_of_lab |
| 241 | func si_model_version() -> i64 { return SI_MODEL_V } called by 1: main |
| 244 | func si_dl_of_region(reg: i64) -> i64 |