add Engine_destroyCamera
This commit is contained in:
@@ -148,7 +148,7 @@ class FFICamera extends Camera {
|
||||
}
|
||||
|
||||
Future destroy() async {
|
||||
throw UnimplementedError();
|
||||
Engine_destroyCamera(app.engine, camera);
|
||||
}
|
||||
|
||||
Future setCameraExposure(
|
||||
@@ -157,13 +157,14 @@ class FFICamera extends Camera {
|
||||
}
|
||||
|
||||
Future<double> getFocusDistance() async => Camera_getFocusDistance(camera);
|
||||
Future setFocusDistance(double focusDistance) async => Camera_setFocusDistance(camera, focusDistance);
|
||||
|
||||
Future setFocusDistance(double focusDistance) async =>
|
||||
Camera_setFocusDistance(camera, focusDistance);
|
||||
|
||||
@override
|
||||
Future<double> getHorizontalFieldOfView() async {
|
||||
return Camera_getFov(camera, true);
|
||||
}
|
||||
|
||||
|
||||
@override
|
||||
Future<double> getVerticalFieldOfView() async {
|
||||
return Camera_getFov(camera, false);
|
||||
|
||||
@@ -37,6 +37,7 @@ EMSCRIPTEN_KEEPALIVE void Engine_destroyScene(TEngine *tEngine, TScene *tScene);
|
||||
EMSCRIPTEN_KEEPALIVE void Engine_destroyColorGrading(TEngine *tEngine, TColorGrading *tColorGrading);
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE TCamera *Engine_createCamera(TEngine* tEngine);
|
||||
EMSCRIPTEN_KEEPALIVE void Engine_destroyCamera(TEngine *tEngine, TCamera *tCamera);
|
||||
EMSCRIPTEN_KEEPALIVE TView *Engine_createView(TEngine *tEngine);
|
||||
EMSCRIPTEN_KEEPALIVE TCamera *Engine_getCameraComponent(TEngine* tEngine, EntityId entityId);
|
||||
EMSCRIPTEN_KEEPALIVE TTransformManager *Engine_getTransformManager(TEngine *engine);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "c_api/TEngine.h"
|
||||
|
||||
#include <filament/Camera.h>
|
||||
#include <filament/Engine.h>
|
||||
#include <filament/Fence.h>
|
||||
#include <filament/IndirectLight.h>
|
||||
@@ -179,6 +180,13 @@ namespace thermion
|
||||
return reinterpret_cast<TCamera *>(camera);
|
||||
}
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE void Engine_destroyCamera(TEngine *tEngine, TCamera *tCamera) {
|
||||
auto *engine = reinterpret_cast<Engine *>(tEngine);
|
||||
auto *camera = reinterpret_cast<Camera *>(tCamera);
|
||||
engine->destroyCameraComponent(camera->getEntity());
|
||||
utils::EntityManager::get().destroy(camera->getEntity());
|
||||
}
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE TCamera *Engine_getCameraComponent(TEngine *tEngine, EntityId entityId)
|
||||
{
|
||||
auto *engine = reinterpret_cast<Engine *>(tEngine);
|
||||
|
||||
Reference in New Issue
Block a user