fixes for createMaterialInstance

This commit is contained in:
Nick Fisher
2024-09-19 12:50:57 +08:00
parent 242b2f6faa
commit 82d85386c0
6 changed files with 149 additions and 84 deletions

View File

@@ -253,9 +253,6 @@ namespace thermion_filament
bool keepData = false
);
MaterialInstance* createUbershaderInstance(TMaterialKey key);
void destroy(MaterialInstance* materialInstance);
friend class FilamentViewer;
Gizmo* gizmo = nullptr;
@@ -291,6 +288,11 @@ namespace thermion_filament
void setMaterialProperty(EntityId entityId, int materialIndex, const char* property, filament::math::float4 value);
MaterialInstance* createUbershaderMaterialInstance(MaterialKey key);
void destroy(MaterialInstance* materialInstance);
gltfio::MaterialProvider* getUbershaderProvider() {
return _ubershaderProvider;
}
private:
gltfio::AssetLoader *_assetLoader = nullptr;

View File

@@ -141,7 +141,8 @@ extern "C"
int numMorphTargets,
int numFrames,
float frameLengthInMs);
EMSCRIPTEN_KEEPALIVE TMaterialInstance *create_material_instance(void *const sceneManager, TMaterialKey key);
EMSCRIPTEN_KEEPALIVE TMaterialInstance *create_material_instance(void *const sceneManager, TMaterialKey materialConfig);
EMSCRIPTEN_KEEPALIVE void destroy_material_instance(void *const sceneManager, TMaterialInstance *instance);
EMSCRIPTEN_KEEPALIVE void clear_morph_animation(
void *sceneManager,