add setTexture to Android API

This commit is contained in:
Nick Fisher
2022-08-15 19:01:37 +10:00
parent 85f7e1e3f0
commit e200064d1b
3 changed files with 15 additions and 1 deletions

View File

@@ -198,5 +198,9 @@ extern "C" {
void clear_assets(void* viewer) {
((FilamentViewer*)viewer)->clearAssets();
}
void set_texture(void* asset, const char* assetPath, int renderableIndex) {
((SceneAsset*)asset)->setTexture(assetPath, renderableIndex);
}
}

View File

@@ -71,4 +71,7 @@ interface FilamentInterop : Library {
fun remove_ibl(viewer:Pointer);
fun set_background_image(viewer:Pointer, path:String);
fun set_texture(asset:Pointer, path:String, renderableIndex:Int);
}

View File

@@ -170,7 +170,7 @@ PlatformView {
_lib.load_skybox(_viewer!!, loader.getLookupKeyForAsset(args))
result.success("OK");
}
"loadIbl" -> {
"loadIbl" -> {
val args = call.arguments as String
val loader = FlutterInjector.instance().flutterLoader()
@@ -211,6 +211,13 @@ PlatformView {
)
result.success(Pointer.nativeValue(assetPtr));
}
"setTexture" -> {
val args = call.arguments as ArrayList<*>
val loader = FlutterInjector.instance().flutterLoader()
val assetPtr = Pointer(args[0] as Long);
_lib.set_texture(assetPtr, loader.getLookupKeyForAsset(args[1] as String), args[2] as Int)
result.success("OK");
}
"setCamera" -> {
val args = call.arguments as ArrayList<*>
val success = _lib.set_camera(