add View_setScene and rename View_updateViewport to View_setViewport

This commit is contained in:
Nick Fisher
2025-03-17 16:53:06 +08:00
parent a0e1971958
commit 342a53ae7b
2 changed files with 10 additions and 4 deletions

View File

@@ -34,10 +34,9 @@ enum TQualityLevel {
// View
EMSCRIPTEN_KEEPALIVE TViewport View_getViewport(TView *view);
EMSCRIPTEN_KEEPALIVE void View_updateViewport(TView *view, uint32_t width, uint32_t height);
EMSCRIPTEN_KEEPALIVE void View_setViewport(TView *view, uint32_t width, uint32_t height);
EMSCRIPTEN_KEEPALIVE void View_setRenderTarget(TView *view, TRenderTarget *renderTarget);
EMSCRIPTEN_KEEPALIVE void View_setFrustumCullingEnabled(TView *view, bool enabled);
EMSCRIPTEN_KEEPALIVE void View_updateViewport(TView* tView, uint32_t width, uint32_t height);
EMSCRIPTEN_KEEPALIVE void View_setRenderTarget(TView* tView, TRenderTarget* tRenderTarget);
EMSCRIPTEN_KEEPALIVE TRenderTarget *View_getRenderTarget(TView* tView);
EMSCRIPTEN_KEEPALIVE void View_setFrustumCullingEnabled(TView* tView, bool enabled);
@@ -57,7 +56,7 @@ EMSCRIPTEN_KEEPALIVE void View_setStencilBufferEnabled(TView *tView, bool enable
EMSCRIPTEN_KEEPALIVE bool View_isStencilBufferEnabled(TView *tView);
EMSCRIPTEN_KEEPALIVE void View_setDitheringEnabled(TView *tView, bool enabled);
EMSCRIPTEN_KEEPALIVE bool View_isDitheringEnabled(TView *tView);
EMSCRIPTEN_KEEPALIVE void View_setScene(TView *tView, TScene *tScene);
typedef void (*PickCallback)(uint32_t requestId, EntityId entityId, float depth, float fragX, float fragY, float fragZ);
EMSCRIPTEN_KEEPALIVE void View_pick(TView* tView, uint32_t requestId, uint32_t x, uint32_t y, PickCallback callback);

View File

@@ -29,7 +29,7 @@ using namespace filament;
return tvp;
}
EMSCRIPTEN_KEEPALIVE void View_updateViewport(TView *tView, uint32_t width, uint32_t height)
EMSCRIPTEN_KEEPALIVE void View_setViewport(TView *tView, uint32_t width, uint32_t height)
{
auto view = reinterpret_cast<View *>(tView);
view->setViewport({0, 0, width, height});
@@ -195,6 +195,7 @@ using namespace filament;
auto *view = reinterpret_cast<View *>(tView);
return view->getDithering() == Dithering::TEMPORAL;
}
EMSCRIPTEN_KEEPALIVE void View_setRenderQuality(TView *tView, TQualityLevel qualityLevel) {
auto view = reinterpret_cast<View *>(tView);
RenderQuality rq;
@@ -202,6 +203,12 @@ using namespace filament;
view->setRenderQuality(rq);
}
EMSCRIPTEN_KEEPALIVE void View_setScene(TView *tView, TScene *tScene) {
auto *view = reinterpret_cast<View*>(tView);
auto *scene = reinterpret_cast<Scene*>(tScene);
view->setScene(scene);
}
#ifdef __cplusplus
}