/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/EnginePlugins/JoltPlugin/System/JoltCore.h
69 строк
2 KB
Jan Krassnigg
Added StencilRef value and Visual Shader State Nodes (#1767)
11 янв 2026, 19:54
Не верифицирован
11 янв 2026, 19:54
b9f5978
Код
Авторство
О чём код?
#pragma once #include <Foundation/Containers/HashTable.h> #include <Foundation/Memory/CommonAllocators.h> #include <Foundation/Types/UniquePtr.h> #include <GameEngine/Physics/CollisionFilter.h> #include <GameEngine/Physics/ImpulseType.h> #include <GameEngine/Physics/WeightCategory.h> #include <JoltPlugin/JoltPluginDLL.h> #include <memory> class ezJoltMaterial; struct ezSurfaceResourceEvent; class ezJoltDebugRenderer; class ezWorld; namespace JPH { class JobSystem; } class EZ_JOLTPLUGIN_DLL ezJoltCore { public: static JPH::JobSystem* GetJoltJobSystem(); static const ezJoltMaterial* GetDefaultMaterial() { return s_pDefaultMaterial; } static void DebugDraw(ezWorld* pWorld); #ifdef JPH_DEBUG_RENDERER static std::unique_ptr<ezJoltDebugRenderer> s_pDebugRenderer; #endif static const ezCollisionFilterConfig& GetCollisionFilterConfig(); static const ezWeightCategoryConfig& GetWeightCategoryConfig(); static const ezImpulseTypeConfig& GetImpulseTypeConfig(); static void ReloadConfigs(); private: EZ_MAKE_SUBSYSTEM_STARTUP_FRIEND(Jolt, JoltPlugin); static void Startup(); static void Shutdown(); static void SurfaceResourceEventHandler(const ezSurfaceResourceEvent& e); static void* JoltMalloc(size_t inSize); static void JoltFree(void* inBlock); static void* JoltReallocate(void* inBlock, size_t inOldSize, size_t inNewSize); static void* JoltAlignedMalloc(size_t inSize, size_t inAlignment); static void JoltAlignedFree(void* inBlock); static void LoadCollisionFilters(); static void LoadWeightCategories(); static void LoadImpulseTypes(); static ezJoltMaterial* s_pDefaultMaterial; static ezUniquePtr<JPH::JobSystem> s_pJobSystemEZ; static std::unique_ptr<JPH::JobSystem> s_pJobSystemJolt; static ezUniquePtr<ezProxyAllocator> s_pAllocator; static ezUniquePtr<ezProxyAllocator> s_pAllocatorAligned; static ezUniquePtr<ezCollisionFilterConfig> s_pCollisionFilterConfig; static ezUniquePtr<ezWeightCategoryConfig> s_pWeightCategoryConfig; static ezUniquePtr<ezImpulseTypeConfig> s_pImpulseTypeConfig; };