35 #ifndef NE10_PHYSICS_H 36 #define NE10_PHYSICS_H 67 #ifdef ENABLE_NE10_PHYSICS_COMPUTE_AABB_VEC2F_NEON 73 #endif // ENABLE_NE10_PHYSICS_COMPUTE_AABB_VEC2F_NEON 101 #ifdef ENABLE_NE10_PHYSICS_RELATIVE_V_VEC2F_NEON 112 asm (
"ne10_physics_relative_v_vec2f_neon");
113 #endif // ENABLE_NE10_PHYSICS_RELATIVE_V_VEC2F_NEON 147 #ifdef ENABLE_NE10_PHYSICS_APPLY_IMPULSE_VEC2F_NEON 160 asm (
"ne10_physics_apply_impulse_vec2f_neon");
161 #endif // ENABLE_NE10_PHYSICS_APPLY_IMPULSE_VEC2F_NEON
A 2-tuple of ne10_float32_t values.
void ne10_physics_compute_aabb_vec2f_neon(ne10_mat2x2f_t *aabb, ne10_vec2f_t *vertices, ne10_mat2x2f_t *xf, ne10_vec2f_t *radius, ne10_uint32_t vertex_count)
Specific implementation of ne10_physics_compute_aabb_vec2f using NEON SIMD capabilities.
void ne10_physics_apply_impulse_vec2f_c(ne10_vec3f_t *v_wa, ne10_vec3f_t *v_wb, ne10_vec2f_t *ra, ne10_vec2f_t *rb, ne10_vec2f_t *ima, ne10_vec2f_t *imb, ne10_vec2f_t *p, ne10_uint32_t count)
Specific implementation of ne10_physics_apply_impulse_vec2f using plain C.
ne10_result_t is_NEON_available
void ne10_physics_compute_aabb_vec2f_c(ne10_mat2x2f_t *aabb, ne10_vec2f_t *vertices, ne10_mat2x2f_t *xf, ne10_vec2f_t *radius, ne10_uint32_t vertex_count)
Specific implementation of ne10_physics_compute_aabb_vec2f using plain C.
void ne10_physics_relative_v_vec2f_c(ne10_vec2f_t *dv, ne10_vec3f_t *v_wa, ne10_vec2f_t *ra, ne10_vec3f_t *v_wb, ne10_vec2f_t *rb, ne10_uint32_t count)
Specific implementation of ne10_physics_relative_v_vec2f using plain C.
void(* ne10_physics_compute_aabb_vec2f)(ne10_mat2x2f_t *aabb, ne10_vec2f_t *vertices, ne10_mat2x2f_t *xf, ne10_vec2f_t *radius, ne10_uint32_t vertex_count)
Compute the AABB for a polygon.
void ne10_physics_relative_v_vec2f_neon(ne10_vec2f_t *dv, ne10_vec3f_t *v_wa, ne10_vec2f_t *ra, ne10_vec3f_t *v_wb, ne10_vec2f_t *rb, ne10_uint32_t count) asm("ne10_physics_relative_v_vec2f_neon")
Specific implementation of ne10_physics_relative_v_vec2f using NEON SIMD capabilities.
void(* ne10_physics_relative_v_vec2f)(ne10_vec2f_t *dv, ne10_vec3f_t *v_wa, ne10_vec2f_t *ra, ne10_vec3f_t *v_wb, ne10_vec2f_t *rb, ne10_uint32_t count)
Calculate relative velocity at contact.
ne10_result_t ne10_init_physics(ne10_int32_t is_NEON_available)
A 3-tuple of ne10_float32_t values.
void(* ne10_physics_apply_impulse_vec2f)(ne10_vec3f_t *v_wa, ne10_vec3f_t *v_wb, ne10_vec2f_t *ra, ne10_vec2f_t *rb, ne10_vec2f_t *ima, ne10_vec2f_t *imb, ne10_vec2f_t *p, ne10_uint32_t count)
Apply contact impulse.
void ne10_physics_apply_impulse_vec2f_neon(ne10_vec3f_t *v_wa, ne10_vec3f_t *v_wb, ne10_vec2f_t *ra, ne10_vec2f_t *rb, ne10_vec2f_t *ima, ne10_vec2f_t *imb, ne10_vec2f_t *p, ne10_uint32_t count) asm("ne10_physics_apply_impulse_vec2f_neon")
Specific implementation of ne10_physics_apply_impulse_vec2f using NEON SIMD capabilities.