This commit is contained in:
Nick Fisher
2025-03-19 15:42:33 +08:00
parent 102429e090
commit e73cb9c7d6
9 changed files with 20 additions and 3 deletions

View File

@@ -73,7 +73,7 @@ namespace thermion
std::lock_guard lock(mMutex);
for (auto animationManager : mAnimationManagers) {
animationManager->update(frameTimeInNanos * 1e-9);
animationManager->update(frameTimeInNanos);
}
for (const auto& [swapChain, views] : mRenderable)

View File

@@ -58,6 +58,11 @@ namespace thermion
return reinterpret_cast<TEngine *>(engine);
}
EMSCRIPTEN_KEEPALIVE void Engine_destroy(TEngine *tEngine) {
auto *engine = reinterpret_cast<Engine *>(tEngine);
Engine::destroy(engine);
}
EMSCRIPTEN_KEEPALIVE TRenderer *Engine_createRenderer(TEngine *tEngine)
{
auto *engine = reinterpret_cast<Engine *>(tEngine);

View File

@@ -24,6 +24,11 @@ EMSCRIPTEN_KEEPALIVE TRenderTicker *RenderTicker_create(TRenderer *tRenderer) {
return reinterpret_cast<TRenderTicker *>(renderTicker);
}
EMSCRIPTEN_KEEPALIVE void RenderTicker_destroy(TRenderTicker *tRenderTicker,) {
auto *renderTicker = reinterpret_cast<RenderTicker *>(tRenderTicker);
delete renderTicker;
}
EMSCRIPTEN_KEEPALIVE void RenderTicker_addAnimationManager(TRenderTicker *tRenderTicker, TAnimationManager *tAnimationManager) {
auto *renderTicker = reinterpret_cast<RenderTicker *>(tRenderTicker);
auto *animationManager = reinterpret_cast<thermion::AnimationManager *>(tAnimationManager);

View File

@@ -43,7 +43,7 @@ void RenderLoop::iter()
std::unique_lock<std::mutex> lock(_mutex);
if (_requestFrameRenderCallback)
{
mRenderTicker->render();
mRenderTicker->render(0);
lock.unlock();
this->_requestFrameRenderCallback();
this->_requestFrameRenderCallback = nullptr;

View File

@@ -474,7 +474,7 @@ namespace thermion
return boneEntities;
}
void AnimationManager::update()
void AnimationManager::update(uint64_t frameTimeInNanos)
{
std::lock_guard lock(_mutex);
_animationComponentManager->update();