refactoring
This commit is contained in:
@@ -36,13 +36,24 @@ namespace thermion
|
||||
RenderTicker(filament::Renderer *renderer) : mRenderer(renderer) { }
|
||||
~RenderTicker();
|
||||
|
||||
/// @brief
|
||||
/// @param frameTimeInNanos
|
||||
void render(
|
||||
uint64_t frameTimeInNanos
|
||||
);
|
||||
|
||||
/// @brief
|
||||
/// @param swapChain
|
||||
/// @param view
|
||||
/// @param numViews
|
||||
void setRenderable(filament::SwapChain *swapChain, filament::View **view, uint8_t numViews);
|
||||
|
||||
/// @brief
|
||||
/// @param animationManager
|
||||
void addAnimationManager(AnimationManager* animationManager);
|
||||
|
||||
/// @brief
|
||||
/// @param animationManager
|
||||
void removeAnimationManager(AnimationManager* animationManager);
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE TAnimationManager *AnimationManager_create(TEngine *tEngine);
|
||||
EMSCRIPTEN_KEEPALIVE TAnimationManager *AnimationManager_create(TEngine *tEngine, TScene *tScene);
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE void AnimationManager_addAnimationComponent(TAnimationManager *tAnimationManager, EntityId entityId);
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ EMSCRIPTEN_KEEPALIVE TEngine *Engine_create(
|
||||
bool disableHandleUseAfterFreeCheck
|
||||
);
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE TEngine *Engine_destroy(TEngine *tEngine);
|
||||
EMSCRIPTEN_KEEPALIVE void Engine_destroy(TEngine *tEngine);
|
||||
EMSCRIPTEN_KEEPALIVE TRenderer *Engine_createRenderer(TEngine *tEngine);
|
||||
EMSCRIPTEN_KEEPALIVE TSwapChain *Engine_createSwapChain(TEngine *tEngine, void *window, uint64_t flags);
|
||||
EMSCRIPTEN_KEEPALIVE TSwapChain *Engine_createHeadlessSwapChain(TEngine *tEngine, uint32_t width, uint32_t height, uint64_t flags);
|
||||
|
||||
@@ -19,7 +19,7 @@ extern "C"
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE void LightManager_setPosition(TLightManager *tLightManager, EntityId light, double x, double y, double z);
|
||||
EMSCRIPTEN_KEEPALIVE void LightManager_setDirection(TLightManager *tLightManager, EntityId light, double x, double y, double z);
|
||||
EMSCRIPTEN_KEEPALIVE int LightManager_createLight(TLightManager *tLightManager, TLightType tLightTtype);
|
||||
EMSCRIPTEN_KEEPALIVE int LightManager_createLight(TEngine *tEngine, TLightManager *tLightManager, TLightType tLightTtype);
|
||||
EMSCRIPTEN_KEEPALIVE void LightManager_destroyLight(TLightManager *tLightManager, EntityId entity);
|
||||
EMSCRIPTEN_KEEPALIVE void LightManager_setColor(TLightManager *tLightManager, EntityId entity, float colorTemperature);
|
||||
EMSCRIPTEN_KEEPALIVE void LightManager_setIntensity(TLightManager *tLightManager, EntityId entity, double intensity);
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace thermion
|
||||
EMSCRIPTEN_KEEPALIVE void RenderLoop_create();
|
||||
EMSCRIPTEN_KEEPALIVE void RenderLoop_destroy();
|
||||
EMSCRIPTEN_KEEPALIVE void RenderLoop_requestAnimationFrame(void (*onComplete));
|
||||
EMSCRIPTEN_KEEPALIVE void RenderTicker_renderRenderThread(TRenderTicker *tRenderTicker, uint64_t frameTimeInNanos);
|
||||
EMSCRIPTEN_KEEPALIVE void RenderTicker_renderRenderThread(TRenderTicker *tRenderTicker, uint64_t frameTimeInNanos, void (*onComplete)());
|
||||
// EMSCRIPTEN_KEEPALIVE void RenderLoop_addTask(TRenderLoop* tRenderLoop, void (*task)());
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE void AnimationManager_createRenderThread(TEngine *tEngine, TScene *tScene, void (*onComplete)(TAnimationManager *));
|
||||
@@ -75,7 +75,7 @@ namespace thermion
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE void Material_createInstanceRenderThread(TMaterial *tMaterial, void (*onComplete)(TMaterialInstance *));
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE void View_setToneMappingRenderThread(TView *tView, TEngine *tEngine, ToneMapping toneMapping);
|
||||
EMSCRIPTEN_KEEPALIVE void View_setToneMappingRenderThread(TView *tView, TEngine *tEngine, TToneMapping toneMapping);
|
||||
EMSCRIPTEN_KEEPALIVE void View_setBloomRenderThread(TView *tView, bool enabled, double strength);
|
||||
EMSCRIPTEN_KEEPALIVE void View_setCameraRenderThread(TView *tView, TCamera *tCamera, void (*callback)());
|
||||
|
||||
|
||||
@@ -72,18 +72,6 @@ namespace thermion
|
||||
scene->remove(_entity);
|
||||
}
|
||||
|
||||
void setPriority(RenderableManager &rm, int priority) override
|
||||
{
|
||||
auto renderableInstance = rm.getInstance(_entity);
|
||||
rm.setPriority(renderableInstance, priority);
|
||||
}
|
||||
|
||||
void setLayer(RenderableManager &rm, int layer) override
|
||||
{
|
||||
auto renderableInstance = rm.getInstance(_entity);
|
||||
rm.setLayerMask(renderableInstance, 0xFF, 1u << (uint8_t)layer);
|
||||
}
|
||||
|
||||
SceneAsset *getInstanceByEntity(utils::Entity entity) override
|
||||
{
|
||||
for (auto &instance : _instances)
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include <filament/IndexBuffer.h>
|
||||
#include <filament/InstanceBuffer.h>
|
||||
|
||||
#include "c_api/ThermionDartApi.h"
|
||||
#include "scene/SceneAsset.hpp"
|
||||
|
||||
namespace thermion
|
||||
@@ -106,14 +105,6 @@ namespace thermion
|
||||
return utils::Entity::import(0);
|
||||
}
|
||||
|
||||
void setPriority(RenderableManager &rm, int mask) override
|
||||
{
|
||||
}
|
||||
|
||||
void setLayer(RenderableManager &rm, int layer) override
|
||||
{
|
||||
}
|
||||
|
||||
void highlight(Gizmo::Axis axis);
|
||||
void unhighlight(Gizmo::Axis axis);
|
||||
|
||||
|
||||
@@ -133,32 +133,6 @@ namespace thermion
|
||||
return std::nullptr_t();
|
||||
}
|
||||
|
||||
void setPriority(RenderableManager &rm, int priority) override
|
||||
{
|
||||
const Entity *entities = _instance->getEntities();
|
||||
for (int i = 0; i < _instance->getEntityCount(); i++)
|
||||
{
|
||||
if (rm.hasComponent(entities[i]))
|
||||
{
|
||||
auto renderableInstance = rm.getInstance(entities[i]);
|
||||
rm.setPriority(renderableInstance, priority);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void setLayer(RenderableManager &rm, int layer) override
|
||||
{
|
||||
const Entity *entities = _instance->getEntities();
|
||||
for (int i = 0; i < _instance->getEntityCount(); i++)
|
||||
{
|
||||
if (rm.hasComponent(entities[i]))
|
||||
{
|
||||
auto renderableInstance = rm.getInstance(entities[i]);
|
||||
rm.setLayerMask(renderableInstance, 0xFF, 1u << (uint8_t)layer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const filament::Aabb getBoundingBox() const override {
|
||||
return _instance->getBoundingBox();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user