#define GLOBAL_ALLOC
Definition Allocator.hpp:240
constexpr uint32_t kGSInstanceTypeMesh
Definition GPUScene.hpp:25
Allocator interface (noexcept)
Definition Allocator.hpp:29
Definition JobSystem.hpp:135
Definition JoltGPUScene.hpp:40
PhysicsStatus DestroyLight(GPUSceneLightHandle handle)
Definition JoltGPUScene.cpp:177
JoltGPUScene(JoltGPUScene const &)=delete
Core::Vector< LightSlot > mLights
Definition JoltGPUScene.hpp:116
PhysicsStatus GetBodyPose(PhysicsBodyHandle body, PhysicsBodyPose &outPose) const
Definition JoltGPUScene.cpp:255
uint32_t GetBodyCount() const
Definition JoltGPUScene.hpp:82
GPUScene const & GetGPUScene() const
Definition JoltGPUScene.hpp:50
uint32_t GetMaxBodies() const
Definition JoltGPUScene.hpp:83
PhysicsStatus SetLinearVelocity(PhysicsBodyHandle body, float3 const &velocity)
Definition JoltGPUScene.cpp:266
PhysicsStatus Commit(RendererUBO &ubo)
Definition JoltGPUScene.cpp:281
GPUScene & GetGPUScene()
Definition JoltGPUScene.hpp:49
PhysicsStatus CreateLight(GSLight const &light, GPUSceneLightHandle &outHandle)
Definition JoltGPUScene.cpp:125
void MarkBroadPhaseDirty()
Definition JoltGPUScene.cpp:38
Core::Vector< MaterialSlot > mMaterials
Definition JoltGPUScene.hpp:115
PhysicsStatus Destroy(PhysicsBodyHandle body)
Definition JoltGPUScene.cpp:206
PhysicsStatus SetBodyPose(PhysicsBodyHandle body, PhysicsBodyPose const &pose, PhysicsActivation activation=PhysicsActivation::Activate)
Definition JoltGPUScene.cpp:260
LightSlot * ResolveLight(GPUSceneLightHandle handle)
Definition JoltGPUScene.cpp:70
GPUScene mGPU
Definition JoltGPUScene.hpp:114
PhysicsStatus DestroyMaterial(GPUSceneMaterialHandle handle)
Definition JoltGPUScene.cpp:110
JoltPhysicsWorld mWorld
Definition JoltGPUScene.hpp:113
PhysicsStatus SetLight(GPUSceneLightHandle handle, GSLight const &light)
Definition JoltGPUScene.cpp:157
PhysicsStatus Spawn(PhysicsBodyDesc const &bodyDesc, PhysicsVisualDesc const &visualDesc, PhysicsBodyHandle &outBody)
Definition JoltGPUScene.cpp:188
PhysicsStatus SetObjectMaterial(PhysicsBodyHandle body, GPUSceneMaterialHandle material)
Definition JoltGPUScene.cpp:230
~JoltGPUScene()
Definition JoltGPUScene.cpp:28
MaterialSlot * ResolveMaterial(GPUSceneMaterialHandle handle)
Definition JoltGPUScene.cpp:57
bool IsBodyValid(PhysicsBodyHandle handle) const
Definition JoltGPUScene.cpp:228
PhysicsStatus DestroyShape(PhysicsShapeHandle handle)
Definition JoltGPUScene.cpp:52
Core::Vector< Object > mObjects
Definition JoltGPUScene.hpp:117
PhysicsStatus RayCast(PhysicsRayDesc const &ray, PhysicsRayHit &outHit) const
Definition JoltGPUScene.cpp:250
void Join()
Definition JoltGPUScene.cpp:45
Core::Vector< uint32_t > mFreeLights
Definition JoltGPUScene.hpp:119
Core::Vector< uint32_t > mFreeMaterials
Definition JoltGPUScene.hpp:118
PhysicsStatus CreateShape(PhysicsShapeDesc const &desc, PhysicsShapeHandle &outHandle)
Definition JoltGPUScene.cpp:47
bool mBroadPhaseDirty
Definition JoltGPUScene.hpp:120
PhysicsStatus CreateMaterial(GSMaterial const &material, GPUSceneMaterialHandle &outHandle)
Definition JoltGPUScene.cpp:78
PhysicsStatus SetMaterial(GPUSceneMaterialHandle handle, GSMaterial const &material)
Definition JoltGPUScene.cpp:101
uint32_t GetObjectCount() const
Definition JoltGPUScene.hpp:81
JoltGPUScene & operator=(JoltGPUScene const &)=delete
Definition JoltPhysicsWorld.hpp:114
uint32_t GetBodyCount() const
Definition JoltPhysicsWorld.hpp:143
uint32_t GetMaxBodies() const
Definition JoltPhysicsWorld.hpp:144
Definition Device.hpp:246
Definition GPUScene.hpp:187
Result
Definition GPUScene.hpp:195
std::vector< T, StlAllocator< T > > Vector
std::vector with explicit Foundation::Core::StlAllocator constructor
Definition Container.hpp:149
Definition JoltCommon.hpp:8
PhysicsStatus
Definition JoltPhysicsWorld.hpp:12
PhysicsActivation
Definition JoltPhysicsWorld.hpp:36
vec3 float3
Definition Math.hpp:26
Definition JoltGPUScene.hpp:17
uint32_t index
Definition JoltGPUScene.hpp:18
bool operator==(GPUSceneLightHandle const &) const =default
bool IsValid() const
Definition JoltGPUScene.hpp:20
uint32_t generation
Definition JoltGPUScene.hpp:19
Definition JoltGPUScene.hpp:9
bool operator==(GPUSceneMaterialHandle const &) const =default
uint32_t index
Definition JoltGPUScene.hpp:10
uint32_t generation
Definition JoltGPUScene.hpp:11
bool IsValid() const
Definition JoltGPUScene.hpp:12
Definition JoltGPUScene.hpp:34
PhysicsWorldDesc physics
Definition JoltGPUScene.hpp:35
GPUSceneDesc gpu
Definition JoltGPUScene.hpp:36
Definition JoltGPUScene.hpp:96
bool live
Definition JoltGPUScene.hpp:98
uint32_t generation
Definition JoltGPUScene.hpp:97
GSLight light
Definition JoltGPUScene.hpp:99
Definition JoltGPUScene.hpp:87
GSMaterial material
Definition JoltGPUScene.hpp:92
uint32_t refCount
Definition JoltGPUScene.hpp:89
uint32_t gpuIndex
Definition JoltGPUScene.hpp:90
bool live
Definition JoltGPUScene.hpp:91
uint32_t generation
Definition JoltGPUScene.hpp:88
Definition JoltGPUScene.hpp:103
PhysicsVisualDesc visual
Definition JoltGPUScene.hpp:105
PhysicsBodyHandle body
Definition JoltGPUScene.hpp:104
Definition JoltPhysicsWorld.hpp:87
Definition JoltPhysicsWorld.hpp:53
Definition JoltPhysicsWorld.hpp:81
Definition JoltPhysicsWorld.hpp:98
Definition JoltPhysicsWorld.hpp:106
Definition JoltPhysicsWorld.hpp:73
Definition JoltPhysicsWorld.hpp:45
Definition JoltGPUScene.hpp:25
uint32_t type
Definition JoltGPUScene.hpp:28
PhysicsBodyPose localPose
Definition JoltGPUScene.hpp:30
float3 scale
Definition JoltGPUScene.hpp:29
GeometryHandle geometry
Definition JoltGPUScene.hpp:26
GPUSceneMaterialHandle material
Definition JoltGPUScene.hpp:27
Definition JoltPhysicsWorld.hpp:61
Definition GPUScene.hpp:170
Definition GPUScene.hpp:131
Definition GPUScene.hpp:93
Definition GPUScene.hpp:47
Definition Renderer.hpp:11