feat: camera and resizing improvements

This commit is contained in:
Nick Fisher
2024-10-02 16:47:55 +08:00
parent d294938a2c
commit 562ecf2ee5
27 changed files with 840 additions and 613 deletions

View File

@@ -1,5 +1,6 @@
#include "ThermionDartRenderThreadApi.h"
#include "FilamentViewer.hpp"
#include "TView.h"
#include "Log.hpp"
#include "ThreadPool.hpp"
#include "filament/LightManager.h"
@@ -328,7 +329,7 @@ extern "C"
auto fut = _rl->add_task(lambda);
}
void load_glb_from_buffer_render_thread(TSceneManager *sceneManager,
void SceneManager_loadGlbFromBufferRenderThread(TSceneManager *sceneManager,
const uint8_t *const data,
size_t length,
int numInstances,
@@ -340,7 +341,7 @@ extern "C"
std::packaged_task<EntityId()> lambda(
[=]() mutable
{
auto entity = load_glb_from_buffer(sceneManager, data, length, keepData, priority, layer);
auto entity = SceneManager_loadGlbFromBuffer(sceneManager, data, length, keepData, priority, layer);
callback(entity);
return entity;
});
@@ -562,6 +563,24 @@ extern "C"
auto fut = _rl->add_task(lambda);
}
void View_setToneMappingRenderThread(TView *tView, TEngine *tEngine, thermion::ToneMapping toneMapping) {
std::packaged_task<void()> lambda(
[=]
{
View_setToneMapping(tView, tEngine, toneMapping);
});
auto fut = _rl->add_task(lambda);
}
void View_setBloomRenderThread(TView *tView, double bloom) {
std::packaged_task<void()> lambda(
[=]
{
View_setBloom(tView, bloom);
});
auto fut = _rl->add_task(lambda);
}
void reset_to_rest_pose_render_thread(TSceneManager *sceneManager, EntityId entityId, void (*callback)())
{
std::packaged_task<void()> lambda(