nx_gltf_pose_packet_t316.nx
buildroot/runtime/nx_gltf_pose_packet_t316.nx
about
Authored glTF track adapter: caller-owned storage, original hierarchy and world*IBM palette.
dependencies 1 imports · 3 importers
imports: nx_gltf_pose_math_t316.nx
imported by: nx_gltf_pose_bounds_gate_t316.nxnx_gltf_pose_broad_gate_t316.nxnx_gltf_pose_packet_gate_t316.nx
structs
| none |
consts
| 3 | const GPA_MAGIC:i64=0x47504131 |
| 4 | const GPA_HEADER:i64=20 |
| 5 | const GPA_TRACK:i64=8 |
| 6 | const GPA_NODE_WORK:i64=44 |
| 7 | const GPA_FIXED_WORK:i64=60 |
functions
| 8 | func gpa_span(off:i64,count:i64,total:i64)->i64{if off<GPA_HEADER||count<0||off>total||count>total-off{return 0};return 1} called by 1: gpa_frame |
| 9 | func gltf_pose_work_words(nodes:i64)->i64{if nodes<1||nodes>(GLD_I64_MAX-GPA_FIXED_WORK)/GPA_NODE_WORK{return -1};return nodes*GPA_NODE_WORK+GPA_FIXED_WORK} |
| 10 | func gpa_copy(a:*i64,b:*i64,n:i64)->i64{var i:i64=0;while i<n{b[i]=a[i];i=i+1};return 0} called by 1: gpa_frame |
| 11 | func gpa_trs_matrix(trs:*i64,out:*i64,r:*i64,s:*i64,tmp:*i64)->i64 |
| 25 | func gpa_frame(p:*i64,pw:i64,time:i64,wrap_time:i64,work:*i64,ww:i64,out:*i64,ow:i64)->i64 |
| 71 | func gpa_memory(off:i64,words:i64,available:i64)->i64{if off<=0||off%8!=0||words<0||available<0||off>available||words>(available-off)/8{return 0};return 1} |
| 72 | func gpa_overlap(a:i64,aw:i64,b:i64,bw:i64)->i64{if a<=b{if (b-a)/8<aw{return 1}}else{if (a-b)/8<bw{return 1}};return 0} |
| 73 | func gltf_pose_frame(packet:i64,pw:i64,time:i64,wrap_time:i64,work:i64,ww:i64,out:i64,ow:i64,available:i64)->i64 |
| 81 | func gpa_bounds(palette:*i64,joints:i64,vertices:*i64,count:i64,out:*i64,scratch:*i64)->i64 |
| 97 | func gltf_pose_bounds(palette:i64,joints:i64,vertices:i64,count:i64,out:i64,scratch:i64,available:i64)->i64 |
| 105 | func gpa_broad_bounds(palette:*i64,joints:i64,pack:*i64,words:i64,out:*i64,scratch:*i64)->i64 |
| 121 | func gltf_pose_broad_bounds(palette:i64,joints:i64,pack:i64,words:i64,out:i64,scratch:i64,available:i64)->i64 |