nngn
|
Public Member Functions | |
ComputeBackend (const ComputeBackend &)=delete | |
ComputeBackend & | operator= (const ComputeBackend &)=delete |
ComputeBackend (ComputeBackend &&) noexcept=default | |
ComputeBackend & | operator= (ComputeBackend &&) noexcept=default |
ComputeBackend (nngn::Compute *c) | |
~ComputeBackend (void) override | |
Public Member Functions inherited from nngn::Colliders::Backend | |
Backend ()=default | |
Backend (const Backend &)=default | |
Backend & | operator= (const Backend &)=default |
Backend (Backend &&) noexcept=default | |
Backend & | operator= (Backend &&) noexcept=default |
virtual | ~Backend ()=default |
Private Member Functions | |
bool | init () final |
bool | read_prog (const std::filesystem::path &path) |
bool | destroy () |
bool | set_max_colliders (std::size_t n) final |
bool | set_max_collisions (std::size_t n) final |
bool | check (const nngn::Timing &t, Input *input, Output *output) final |
template<std::size_t to_off, typename To , typename From , typename F > | |
bool | copy_member (nngn::Compute::Buffer b, std::span< const From > s, const F *f, nngn::Compute::Event *const *e) |
bool | copy_aabb (Events *events, std::span< const nngn::AABBCollider > s) |
bool | copy_bb (Events *events, std::span< const nngn::BBCollider > s) |
bool | copy_sphere (Events *events, std::span< const nngn::SphereCollider > s) |
bool | copy_plane (Events *events, std::span< const nngn::PlaneCollider > s) |
bool | copy_gravity (Events *events, std::span< const nngn::GravityCollider > s) |
bool | check_aabb (Events *events, std::span< const nngn::AABBCollider > s) |
bool | check_bb (Events *events, std::span< const nngn::BBCollider > s) |
bool | check_sphere (const nngn::Timing &t, Events *events, std::span< const nngn::SphereCollider > s) |
bool | check_aabb_bb (Events *events, std::span< const nngn::AABBCollider > aabb, std::span< const nngn::BBCollider > bb) |
bool | check_aabb_sphere (Events *events, std::span< const nngn::AABBCollider > aabb, std::span< const nngn::SphereCollider > sphere) |
bool | check_bb_sphere (Events *events, std::span< const nngn::BBCollider > aabb, std::span< const nngn::SphereCollider > sphere) |
bool | check_sphere_plane (Events *events, std::span< const nngn::SphereCollider > sphere, std::span< const nngn::PlaneCollider > plane) |
bool | check_sphere_gravity (Events *events, std::span< const nngn::SphereCollider > sphere, std::span< const nngn::GravityCollider > gravity) |
std::array< size_t, 2 > | work_size_for_n (std::size_t n) const |
std::tuple< Collision *, u32 > | map_collision_buffer (nngn::Compute::Buffer b, std::size_t i, const nngn::Compute::Event *wait, u32 max) const |
template<typename T , typename U > | |
bool | read_collision_buffer (nngn::Compute::Buffer b, std::size_t counter_idx, std::span< T > s0, std::span< U > s1, const nngn::Compute::Event *wait, std::vector< nngn::Collision > *out) |
bool | write_stats (const Events &events) |
Private Attributes | |
std::size_t | max_colliders = {} |
std::size_t | max_collisions = {} |
std::size_t | collision_bytes = {} |
u64 | max_wg_size = {} |
nngn::Compute::Program | prog = {} |
nngn::Compute::Buffer | aabb_buffer = {} |
nngn::Compute::Buffer | bb_buffer = {} |
nngn::Compute::Buffer | sphere_buffer = {} |
nngn::Compute::Buffer | plane_buffer = {} |
nngn::Compute::Buffer | gravity_buffer = {} |
nngn::Compute::Buffer | counters_buffer = {} |
nngn::Compute::Buffer | aabb_coll_buffer = {} |
nngn::Compute::Buffer | bb_coll_buffer = {} |
nngn::Compute::Buffer | sphere_coll_buffer = {} |
nngn::Compute::Buffer | gravity_coll_buffer = {} |
nngn::Compute::Buffer | aabb_bb_coll_buffer = {} |
nngn::Compute::Buffer | aabb_sphere_coll_buffer = {} |
nngn::Compute::Buffer | bb_sphere_coll_buffer = {} |
nngn::Compute::Buffer | sphere_plane_coll_buffer = {} |
nngn::Compute::Buffer | sphere_gravity_coll_buffer = {} |
nngn::Compute * | compute = {} |
|
delete |
|
defaultnoexcept |
|
inline |
|
override |
|
finalprivatevirtual |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
finalprivatevirtual |
|
private |
|
defaultnoexcept |
|
delete |
|
private |
|
private |
|
finalprivatevirtual |
|
finalprivatevirtual |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |