add GPU morpher + Dart API

This commit is contained in:
Nick Fisher
2021-09-17 13:45:41 +08:00
parent 8288758e78
commit 76f25ae7d5
25 changed files with 5736 additions and 44 deletions

View File

@@ -30,6 +30,8 @@
#include <string>
#include <chrono>
#include "GPUMorphHelper.h"
using namespace std;
using namespace filament;
using namespace filament::math;
@@ -51,13 +53,16 @@ namespace mimetic {
class FilamentViewer {
public:
FilamentViewer(void* layer, LoadResource loadResource, FreeResource freeResource);
FilamentViewer(void* layer, const char* shaderPath, LoadResource loadResource, FreeResource freeResource);
~FilamentViewer();
void loadGltf(const char* const uri, const char* relativeResourcePath);
void loadGltf(const char* const uri, const char* relativeResourcePath, const char* materialInstanceName);
void loadSkybox(const char* const skyboxUri, const char* const iblUri);
void updateViewportAndCameraProjection(int height, int width, float scaleFactor);
void render();
void createMorpher(const char* meshName, const char* entityName, const char* materialInstanceName);
Manipulator<float>* manipulator;
GPUMorphHelper* morphHelper;
private:
void loadResources(std::string relativeResourcePath);
void transformToUnitCube();
@@ -83,6 +88,7 @@ namespace mimetic {
FilamentAsset* _asset = nullptr;
NameComponentManager* _ncm;
Entity _sun;
Texture* _skyboxTexture;
Skybox* _skybox;