make Android use new API, add delete_viewer method
This commit is contained in:
@@ -334,7 +334,26 @@ void FilamentViewer::setBackgroundImage(const char *resourcePath) {
|
||||
float3(1.0f));
|
||||
}
|
||||
|
||||
FilamentViewer::~FilamentViewer() { cleanup(); }
|
||||
FilamentViewer::~FilamentViewer() {
|
||||
clearAssets();
|
||||
_resourceLoader->asyncCancelLoad();
|
||||
Log("c1");
|
||||
_materialProvider->destroyMaterials();
|
||||
Log("c2");
|
||||
AssetLoader::destroy(&_assetLoader);
|
||||
Log("c3");
|
||||
delete _sceneAssetLoader;
|
||||
_engine->destroy(_view);
|
||||
Log("c4");
|
||||
_engine->destroy(_scene);
|
||||
Log("c5");
|
||||
_engine->destroy(_renderer);
|
||||
Log("c6");
|
||||
_engine->destroy(_swapChain);
|
||||
Log("c7");
|
||||
Engine::destroy(&_engine); // clears engine*
|
||||
Log("c8");
|
||||
}
|
||||
|
||||
Renderer *FilamentViewer::getRenderer() { return _renderer; }
|
||||
|
||||
@@ -529,12 +548,6 @@ void FilamentViewer::loadIbl(const char *const iblPath) {
|
||||
}
|
||||
}
|
||||
|
||||
void FilamentViewer::cleanup() {
|
||||
_resourceLoader->asyncCancelLoad();
|
||||
_materialProvider->destroyMaterials();
|
||||
AssetLoader::destroy(&_assetLoader);
|
||||
};
|
||||
|
||||
void FilamentViewer::render() {
|
||||
|
||||
if (!_view || !_mainCamera || !_swapChain) {
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "ResourceBuffer.hpp"
|
||||
#include "FilamentViewer.hpp"
|
||||
#include "Log.hpp"
|
||||
|
||||
using namespace polyvox;
|
||||
|
||||
@@ -15,6 +16,14 @@ extern "C" {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
void filament_viewer_delete(void* viewer) {
|
||||
delete((FilamentViewer*)viewer);
|
||||
Log(
|
||||
"deleted"
|
||||
);
|
||||
}
|
||||
|
||||
void set_background_image(void* viewer, const char* path) {
|
||||
((FilamentViewer*)viewer)->setBackgroundImage(path);
|
||||
}
|
||||
@@ -7,6 +7,7 @@ typedef struct ResourceBuffer ResourceBuffer;
|
||||
|
||||
//ResourceBuffer create_resource_buffer(const void* data, const uint32_t size, const uint32_t id);
|
||||
void* filament_viewer_new(void* texture, void* loadResource, void* freeResource);
|
||||
void* filament_viewer_delete(void* viewer);
|
||||
void set_background_image(void* viewer, const char* path);
|
||||
void load_skybox(void* viewer, const char* skyboxPath);
|
||||
void load_ibl(void* viewer, const char* iblPath);
|
||||
Reference in New Issue
Block a user