remove relativeResourcePath from gltf resource loading;
all external resources should be added on the Dart side, Filament should never attempt to load these directly from the filesystem. relativeResourcePath (called gltfPath on the Filament side) is only used for desktop loading, so this is now irrelevant. Note that Filament must be compiled with GLTFIO_USE_FILESYSTEM=0
This commit is contained in:
@@ -37,11 +37,10 @@ namespace thermion
|
||||
|
||||
#endif
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE TGltfResourceLoader *GltfResourceLoader_create(TEngine *tEngine, const char *relativeResourcePath) {
|
||||
EMSCRIPTEN_KEEPALIVE TGltfResourceLoader *GltfResourceLoader_create(TEngine *tEngine) {
|
||||
auto *engine = reinterpret_cast<Engine *>(tEngine);
|
||||
auto *gltfResourceLoader = new gltfio::ResourceLoader({
|
||||
.engine = engine,
|
||||
.gltfPath = relativeResourcePath
|
||||
});
|
||||
auto stbDecoder = gltfio::createStbProvider(engine);
|
||||
auto ktxDecoder = gltfio::createKtx2Provider(engine);
|
||||
@@ -60,7 +59,9 @@ EMSCRIPTEN_KEEPALIVE void GltfResourceLoader_destroy(TEngine *tEngine, TGltfReso
|
||||
EMSCRIPTEN_KEEPALIVE void GltfResourceLoader_addResourceData(TGltfResourceLoader *tGltfResourceLoader, const char *uri, uint8_t *data, size_t length) {
|
||||
TRACE("Adding data (length %d) for glTF resource URI %s", length, uri);
|
||||
auto *gltfResourceLoader = reinterpret_cast<gltfio::ResourceLoader *>(tGltfResourceLoader);
|
||||
gltfResourceLoader->addResourceData(uri, { data, length});
|
||||
gltfResourceLoader->addResourceData(uri, {
|
||||
data,
|
||||
length});
|
||||
}
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE bool GltfResourceLoader_loadResources(TGltfResourceLoader *tGltfResourceLoader, TFilamentAsset *tFilamentAsset) {
|
||||
|
||||
@@ -1018,11 +1018,11 @@ EMSCRIPTEN_KEEPALIVE void SceneAsset_createFromFilamentAssetRenderThread(
|
||||
auto fut = _renderThread->add_task(lambda);
|
||||
}
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE void GltfResourceLoader_createRenderThread(TEngine *tEngine, const char* relativeResourcePath, void (*callback)(TGltfResourceLoader *)) {
|
||||
EMSCRIPTEN_KEEPALIVE void GltfResourceLoader_createRenderThread(TEngine *tEngine, void (*callback)(TGltfResourceLoader *)) {
|
||||
std::packaged_task<void()> lambda(
|
||||
[=]() mutable
|
||||
{
|
||||
auto loader = GltfResourceLoader_create(tEngine, relativeResourcePath);
|
||||
auto loader = GltfResourceLoader_create(tEngine);
|
||||
PROXY(callback(loader));
|
||||
});
|
||||
auto fut = _renderThread->add_task(lambda);
|
||||
|
||||
Reference in New Issue
Block a user