nx_relief_lib.nx
buildroot/runtime/nx_relief_lib.nx
about
dependencies 1 imports · 30 importers
diagram shows first 10 each side; +0 more imports, +20 more importers in the complete lists below.
imports: nx_syscalls.nx
imported by: nx_craft_body_driver_t138.nxnx_craft_combined_emit_t28.nxnx_craft_combined_emit_t29.nxnx_craft_emit.nxnx_craft_feedback_emit_t28.nxnx_craft_garment_emit_t132.nxnx_craft_integrated_emit_t73.nxnx_craft_knight_emit_t25.nxnx_craft_material_body_emit_t61.nxnx_craft_material_emit_t55.nxnx_craft_move_emit_t72.nxnx_craft_pipeline_emit_t64.nxnx_craft_recovery_emit_t23.nxnx_craft_search_emit_t53.nxnx_craft_support_emit_t31.nxnx_craft_workspace_emit_t48.nxnx_microscan_gate.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_nxa_texm.nxnx_relief_bands_gate.nxnx_sdfrender.nxnx_sdfrender_attribution_candidate_t344.nxnx_sdfrender_sss_gate.nxnx_trimesh.nxnx_worldpipe_core.nxnx_worldpipe_core_relief_t140.nx
structs
| none |
consts
| 31 | const RLF_HASH_A: i64 = 374761393 |
| 32 | const RLF_HASH_B: i64 = 668265263 |
| 33 | const RLF_HASH_C: i64 = 1610612741 |
| 34 | const RLF_HASH_MIX: i64 = 1274126177 |
| 35 | const RLF_AVAL_1: i64 = 13 |
| 36 | const RLF_AVAL_2: i64 = 16 |
| 37 | const RLF_UNIT: i64 = 1024 // interpolation unit AND the hash codomain modulus |
| 38 | const RLF_OFF: i64 = 1048576 // coordinate bias so floor-division stays positive for negative coords |
| 41 | const RLF_H_RANGE: i64 = 1023 |
| 73 | const RLF_RELIEF_UM: i64 = 60 |
| 74 | const RLF_RELIEF_LAMBDA_UM: i64 = 1200 |
| 75 | const RLF_BODY_UM: i64 = 1700000 // a 1.7 m adult; the atlas covers the whole body |
| 78 | const RLF_TILT_K: i64 = 4 |
| 153 | const RLF_SEC_UM: i64 = 20 // swing, microns |
| 154 | const RLF_SEC_LAMBDA_UM: i64 = 250 // wavelength, microns |
| 156 | const RLF_PORE_UM: i64 = 30 // pit depth, microns |
| 157 | const RLF_PORE_PITCH_UM: i64 = 800 // mean spacing between orifices, microns |
| 158 | const RLF_PORE_DIA_UM: i64 = 100 // orifice diameter, microns |
| 159 | const RLF_NBAND: i64 = 3 |
| 163 | const RLF_PORE_JIT: i64 = 512 |
| 165 | const RLF_PORE_D2_INF: i64 = 1000000000 |
| 167 | const RLF_PI_E3: i64 = 3142 |
| 391 | const RLF_TILE_LCM_MULT: i64 = 2 |
| 393 | const RLF_BAND_PRIMARY: i64 = 1 |
| 394 | const RLF_BAND_SECONDARY: i64 = 2 |
| 395 | const RLF_BAND_POREGRID: i64 = 4 |
| 396 | const RLF_BAND_ORIFICE: i64 = 8 |
| 397 | const RLF_BAND_ALL: i64 = 15 |
functions
| 43 | func rlf_hash3(a: i64, b: i64, c: i64) -> i64 |
| 50 | func rlf_noise3(x: i64, y: i64, z: i64, S: i64) -> i64 called by 7: mg_fill_wallmainrlf_relief_hrlf_relief_h3rlf_relief_um2rlf_relief_um2_span+1 calls 1: rlf_hash3 |
| 80 | func rlf_texel_um(res: i64) -> i64 |
| 88 | func rlf_relief_lat(res: i64) -> i64 |
| 94 | func rlf_relief_h(x: i64, y: i64, res: i64, seed: i64) -> i64 |
| 100 | func rlf_relief_h3(x: i64, y: i64, z: i64, cell: i64) -> i64 |
| 106 | func rlf_slope_um(dh: i64) -> i64 { return dh * RLF_RELIEF_UM / RLF_H_RANGE } |
| 108 | func rlf_run_um(res: i64) -> i64 { return 2 * rlf_texel_um(res) } |
| 111 | func rlf_tilt_full(n_full: i64) -> i64 { return n_full * RLF_TILT_K * RLF_RELIEF_UM / RLF_RELIEF_LAMBDA_UM } |
| 115 | func rlf_atlas_tilt_full(res: i64, n_full: i64) -> i64 { return n_full * RLF_RELIEF_UM / rlf_run_um(res) } |
| 171 | func rlf_band_tilt_full(n_full: i64, a_um: i64, lambda_um: i64) -> i64 |
| 177 | func rlf_band_lat(res: i64, lambda_um: i64) -> i64 |
| 184 | func rlf_band_resolvable(res: i64, lambda_um: i64) -> i64 called by 19: cw_band_linecw_band_linecw_band_linecw_band_linecw_band_linecw_band_line+13 calls 1: rlf_texel_um |
| 191 | func rlf_band_res_needed(span_um: i64, lambda_um: i64) -> i64 |
| 198 | func rlf_texel_um_span(span_um: i64, res: i64) -> i64 |
| 206 | func rlf_band_resolvable_span(span_um: i64, res: i64, lambda_um: i64) -> i64 |
| 212 | func rlf_pore_centre(cx: i64, cy: i64, axis: i64) -> i64 |
| 217 | func rlf_pore_d2(x: i64, y: i64, cell: i64) -> i64 |
| 243 | func rlf_pore_radius() -> i64 { return RLF_UNIT * RLF_PORE_DIA_UM / (2 * RLF_PORE_PITCH_UM) } |
| 246 | func rlf_pore_area_permil() -> i64 |
| 252 | func rlf_pore_mask(x: i64, y: i64, cell: i64) -> i64 |
| 264 | func rlf_pore_tilt_full(n_full: i64) -> i64 called by 1: main |
| 271 | func rlf_total_um() -> i64 { return RLF_RELIEF_UM + RLF_SEC_UM + RLF_PORE_UM } called by 1: main |
| 277 | func rlf_multi_tilt_full(res: i64, n_full: i64) -> i64 |
| 287 | func rlf_relief_um2(x: i64, y: i64, res: i64, seed: i64) -> i64 |
| 305 | func rlf_band_lat_span(span_um: i64, res: i64, lambda_um: i64) -> i64 |
| 311 | func rlf_run_um_span(span_um: i64, res: i64) -> i64 { return 2 * rlf_texel_um_span(span_um, res) } calls 1: rlf_texel_um_span |
| 314 | func rlf_bands_carried_span(span_um: i64, res: i64) -> i64 called by 18: cw_chart_linecw_chart_linecw_chart_linecw_chart_linecw_chart_linecw_chart_line+12 calls 1: rlf_band_resolvable_span |
| 323 | func rlf_bands_count(mask: i64) -> i64 |
| 336 | func rlf_pore_mask_r(x: i64, y: i64, cell: i64, r: i64) -> i64 |
| 347 | func rlf_relief_um2_span(x: i64, y: i64, span_um: i64, res: i64, seed: i64) -> i64 |
| 399 | func rlf_gcd(a: i64, b: i64) -> i64 called by 1: rlf_lcm |
| 407 | func rlf_lcm(a: i64, b: i64) -> i64 |
| 413 | func rlf_tile_texel_um() -> i64 { return RLF_PORE_DIA_UM / 2 } |
| 415 | func rlf_tile_lat(lambda_um: i64) -> i64 |
| 421 | func rlf_tile_px() -> i64 called by 11: ntr_bake_tilentr_runntr_bake_tilentr_runmainntr_bake_tile+5 calls 2: rlf_tile_latrlf_lcm |
| 428 | func rlf_tile_repeat_um() -> i64 { return rlf_tile_px() * rlf_tile_texel_um() } |
| 431 | func rlf_tile_bands_carried() -> i64 { return rlf_bands_carried_span(rlf_tile_repeat_um(), rlf_tile_px()) } |
| 433 | func rlf_wrap(x: i64, px: i64) -> i64 |
| 439 | func rlf_hash3_per(gx: i64, gy: i64, z: i64, per: i64) -> i64 |
| 446 | func rlf_noise3_per(x: i64, y: i64, z: i64, S: i64, per: i64) -> i64 |
| 463 | func rlf_pore_centre_per(cx: i64, cy: i64, axis: i64, per: i64) -> i64 |
| 469 | func rlf_pore_d2_per(x: i64, y: i64, cell: i64, per: i64) -> i64 |
| 495 | func rlf_pore_mask_per(x: i64, y: i64, cell: i64, r: i64, per: i64) -> i64 |
| 505 | func rlf_relief_um2_tile_bands(x: i64, y: i64, seed: i64, mask: i64) -> i64 |
| 524 | func rlf_relief_um2_tile(x: i64, y: i64, seed: i64) -> i64 |