Tramway SDK
aabb.h
Go to the documentation of this file.
1// TRAMWAY DRIFT AND DUNGEON EXPLORATION SIMULATOR 2022
2// All rights reserved.
3
4#ifndef TRAM_SDK_RENDER_AABB_H
5#define TRAM_SDK_RENDER_AABB_H
6
7#include <framework/math.h>
8#include <render/model.h>
9
10namespace tram {
11 class RenderComponent;
12}
13
14namespace tram::Render {
15 typedef void* aabbleaf_t;
16}
17
18namespace tram::Render::AABB {
19
20enum ReferenceType : uint32_t {
22};
23
26 void* data;
27
30};
31
32aabbleaf_t InsertLeaf(RenderComponent* component, vec3 position, quat rotation);
33void RemoveLeaf(aabbleaf_t leaf);
34
35QueryResponse FindNearestFromRay(vec3 ray_pos, vec3 ray_dir, uint32_t mask);
36
37void DebugDrawTree();
38
39}
40
42
43void AddLight(light_t light, vec3 pos, float dist);
44void FindLights(vec3 position, light_t* dest);
45void RemoveLight(light_t light);
46
47}
48
49#endif // TRAM_SDK_RENDER_AABB_H
Definition: render.h:13
Definition: aabb.cpp:10
void RemoveLeaf(aabbleaf_t leaf_id)
Definition: aabb.cpp:63
ReferenceType
Definition: aabb.h:20
@ REFERENCE_RENDERCOMPONENT
Definition: aabb.h:21
QueryResponse FindNearestFromRay(vec3 ray_pos, vec3 ray_dir, uint32_t mask)
Definition: aabb.cpp:70
aabbleaf_t InsertLeaf(RenderComponent *component, vec3 position, quat rotation)
Definition: aabb.cpp:24
void DebugDrawTree()
Definition: aabb.cpp:138
Definition: aabb.cpp:144
void AddLight(light_t light, vec3 pos, float dist)
Definition: aabb.cpp:156
void RemoveLight(light_t light)
Definition: aabb.cpp:179
void FindLights(vec3 position, light_t *dest)
Definition: aabb.cpp:166
Definition: gui.h:9
void * aabbleaf_t
Definition: aabb.h:15
Definition: api.h:9
glm::vec3 vec3
Definition: math.h:12
glm::quat quat
Definition: math.h:13
vec3 intersection
Definition: aabb.h:28
ReferenceType type
Definition: aabb.h:25
AABBTriangle triangle
Definition: aabb.h:29
void * data
Definition: aabb.h:26
Definition: model.h:14
Definition: render.h:155