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 // View
EMSCRIPTEN_KEEPALIVE TViewport View_getViewport(TView *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_setRenderTarget(TView *view, TRenderTarget *renderTarget);
EMSCRIPTEN_KEEPALIVE void View_setFrustumCullingEnabled(TView *view, bool enabled); 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 void View_setRenderTarget(TView* tView, TRenderTarget* tRenderTarget);
EMSCRIPTEN_KEEPALIVE TRenderTarget *View_getRenderTarget(TView* tView); EMSCRIPTEN_KEEPALIVE TRenderTarget *View_getRenderTarget(TView* tView);
EMSCRIPTEN_KEEPALIVE void View_setFrustumCullingEnabled(TView* tView, bool enabled); 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 bool View_isStencilBufferEnabled(TView *tView);
EMSCRIPTEN_KEEPALIVE void View_setDitheringEnabled(TView *tView, bool enabled); EMSCRIPTEN_KEEPALIVE void View_setDitheringEnabled(TView *tView, bool enabled);
EMSCRIPTEN_KEEPALIVE bool View_isDitheringEnabled(TView *tView); 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); 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); 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; 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); auto view = reinterpret_cast<View *>(tView);
view->setViewport({0, 0, width, height}); view->setViewport({0, 0, width, height});
@@ -195,6 +195,7 @@ using namespace filament;
auto *view = reinterpret_cast<View *>(tView); auto *view = reinterpret_cast<View *>(tView);
return view->getDithering() == Dithering::TEMPORAL; return view->getDithering() == Dithering::TEMPORAL;
} }
EMSCRIPTEN_KEEPALIVE void View_setRenderQuality(TView *tView, TQualityLevel qualityLevel) { EMSCRIPTEN_KEEPALIVE void View_setRenderQuality(TView *tView, TQualityLevel qualityLevel) {
auto view = reinterpret_cast<View *>(tView); auto view = reinterpret_cast<View *>(tView);
RenderQuality rq; RenderQuality rq;
@@ -202,6 +203,12 @@ using namespace filament;
view->setRenderQuality(rq); 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 #ifdef __cplusplus
} }