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