update tests + bindings
This commit is contained in:
@@ -2490,14 +2490,12 @@ external void GltfAssetLoader_createRenderThread(
|
||||
@ffi.Native<
|
||||
ffi.Void Function(
|
||||
ffi.Pointer<TEngine>,
|
||||
ffi.Pointer<ffi.Char>,
|
||||
ffi.Pointer<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(
|
||||
ffi.Pointer<TGltfResourceLoader>)>>)>(isLeaf: true)
|
||||
external void GltfResourceLoader_createRenderThread(
|
||||
ffi.Pointer<TEngine> tEngine,
|
||||
ffi.Pointer<ffi.Char> relativeResourcePath,
|
||||
ffi.Pointer<
|
||||
ffi
|
||||
.NativeFunction<ffi.Void Function(ffi.Pointer<TGltfResourceLoader>)>>
|
||||
@@ -2616,12 +2614,10 @@ external void Gizmo_createRenderThread(
|
||||
callback,
|
||||
);
|
||||
|
||||
@ffi.Native<
|
||||
ffi.Pointer<TGltfResourceLoader> Function(
|
||||
ffi.Pointer<TEngine>, ffi.Pointer<ffi.Char>)>(isLeaf: true)
|
||||
@ffi.Native<ffi.Pointer<TGltfResourceLoader> Function(ffi.Pointer<TEngine>)>(
|
||||
isLeaf: true)
|
||||
external ffi.Pointer<TGltfResourceLoader> GltfResourceLoader_create(
|
||||
ffi.Pointer<TEngine> tEngine,
|
||||
ffi.Pointer<ffi.Char> relativeResourcePath,
|
||||
);
|
||||
|
||||
@ffi.Native<
|
||||
|
||||
@@ -41,11 +41,10 @@ void main() async {
|
||||
}, cameraPosition: Vector3(0, 0, 5));
|
||||
});
|
||||
|
||||
test('load/remove gltf', () async {
|
||||
test('sync load/remove gltf from uri', () async {
|
||||
await testHelper.withViewer((viewer) async {
|
||||
var asset = await viewer.loadGltf(
|
||||
"file://${testHelper.testDir}/assets/cube.gltf",
|
||||
relativeResourcePath: "${testHelper.testDir}/assets");
|
||||
"file://${testHelper.testDir}/assets/cube.gltf");
|
||||
await viewer
|
||||
.loadIbl("file://${testHelper.testDir}/assets/default_env_ibl.ktx");
|
||||
await testHelper.capture(viewer.view, "gltf_loaded");
|
||||
@@ -54,12 +53,9 @@ void main() async {
|
||||
}, cameraPosition: Vector3(0, 0, 5));
|
||||
});
|
||||
|
||||
test('load/remove gltf (async)', () async {
|
||||
test('async load/remove gltf from uri', () async {
|
||||
await testHelper.withViewer((viewer) async {
|
||||
var assetData =
|
||||
File("${testHelper.testDir}/assets/cube.gltf").readAsBytesSync();
|
||||
var asset = await viewer.loadGltfFromBuffer(assetData,
|
||||
relativeResourcePath: "${testHelper.testDir}/assets", loadResourcesAsync: true);
|
||||
var asset = await viewer.loadGltf("file://${testHelper.testDir}/assets/cube.gltf", loadAsync: true);
|
||||
await viewer
|
||||
.loadIbl("file://${testHelper.testDir}/assets/default_env_ibl.ktx");
|
||||
await testHelper.capture(viewer.view, "gltf_async_loaded");
|
||||
@@ -68,11 +64,22 @@ void main() async {
|
||||
}, cameraPosition: Vector3(0, 0, 5));
|
||||
});
|
||||
|
||||
test('sync load/remove gltf from buffer', () async {
|
||||
await testHelper.withViewer((viewer) async {
|
||||
var assetData =
|
||||
File("${testHelper.testDir}/assets/cube.gltf").readAsBytesSync();
|
||||
var asset = await viewer.loadGltfFromBuffer(assetData,
|
||||
resourceUri: "${testHelper.testDir}/assets", loadResourcesAsync: false);
|
||||
await viewer
|
||||
.loadIbl("file://${testHelper.testDir}/assets/default_env_ibl.ktx");
|
||||
await testHelper.capture(viewer.view, "gltf_load_from_buffer");
|
||||
}, cameraPosition: Vector3(0, 0, 5));
|
||||
});
|
||||
|
||||
test('transform gltf to unit cube', () async {
|
||||
await testHelper.withViewer((viewer) async {
|
||||
var asset = await viewer.loadGltf(
|
||||
"file://${testHelper.testDir}/assets/cube.gltf",
|
||||
relativeResourcePath: "${testHelper.testDir}/assets");
|
||||
"file://${testHelper.testDir}/assets/cube.gltf");
|
||||
|
||||
await viewer
|
||||
.loadIbl("file://${testHelper.testDir}/assets/default_env_ibl.ktx");
|
||||
|
||||
@@ -195,8 +195,13 @@ class TestHelper {
|
||||
return object;
|
||||
}
|
||||
|
||||
Future<Uint8List> _loadResource(String uri) async {
|
||||
uri = uri.replaceAll("file://", "");
|
||||
return File(uri).readAsBytesSync();
|
||||
}
|
||||
|
||||
Future setup() async {
|
||||
await FFIFilamentApp.create();
|
||||
await FFIFilamentApp.create(config: FFIFilamentConfig(loadResource: _loadResource));
|
||||
}
|
||||
|
||||
Future createViewer(
|
||||
@@ -244,9 +249,7 @@ class TestHelper {
|
||||
color: color, depth: depth) as FFIRenderTarget;
|
||||
}
|
||||
|
||||
var viewer = ThermionViewerFFI(
|
||||
loadAssetFromUri: (path) async =>
|
||||
File(path.replaceAll("file://", "")).readAsBytesSync());
|
||||
var viewer = ThermionViewerFFI();
|
||||
|
||||
await viewer.initialized;
|
||||
await FilamentApp.instance!.register(swapChain, viewer.view);
|
||||
|
||||
Reference in New Issue
Block a user