diff --git a/thermion_dart/test/render_thread_tests.dart b/thermion_dart/test/render_thread_tests.dart index 12740e28..8a8d4578 100644 --- a/thermion_dart/test/render_thread_tests.dart +++ b/thermion_dart/test/render_thread_tests.dart @@ -7,36 +7,28 @@ import 'helpers.dart'; void main() async { final testHelper = TestHelper("render_thread"); - + await testHelper.setup(); group("render thread/capture", () { test("request frame on render thread", () async { await testHelper.withViewer((viewer) async { - var metalTexture = await testHelper.createTexture(500, 500); - var texture = await FilamentApp.instance!.createTexture( - 500, 500, - importedTextureHandle: metalTexture.metalTextureAddress, - flags: { - TextureUsage.TEXTURE_USAGE_BLIT_DST, - TextureUsage.TEXTURE_USAGE_SAMPLEABLE, - TextureUsage.TEXTURE_USAGE_COLOR_ATTACHMENT - }); - - var renderTarget = await FilamentApp.instance! - .createRenderTarget(500, 500, color: texture); - - await viewer.view.setRenderTarget(renderTarget); - await viewer.render(); await Future.delayed(Duration(milliseconds: 1)); - var data = metalTexture.getTextureBytes()!; - var pixels = data.bytes.cast().asTypedList(data.length); + // var data = viewer.metalTexture.getTextureBytes()!; + // var pixels = data.bytes.cast().asTypedList(data.length); + + // savePixelBufferToBmp( + // pixels, 500, 500, "${testHelper.testDir}/request_frame.bmp"); + + await viewer.setRendering(true); + + await Future.delayed(Duration(seconds: 1)); + await FilamentApp.instance!.requestFrame(); + await testHelper.capture(viewer.view, "render_thread_2"); - savePixelBufferToBmp( - pixels, 500, 500, "${testHelper.testDir}/request_frame.bmp"); await viewer.dispose(); }); }); diff --git a/thermion_dart/test/transform_tests.dart b/thermion_dart/test/transform_tests.dart index b5593b62..50dd6927 100644 --- a/thermion_dart/test/transform_tests.dart +++ b/thermion_dart/test/transform_tests.dart @@ -2,41 +2,51 @@ import 'package:thermion_dart/thermion_dart.dart'; import 'package:test/test.dart'; +import 'package:vector_math/vector_math_64.dart'; import 'helpers.dart'; void main() async { final testHelper = TestHelper("transforms"); + await testHelper.setup(); group("transforms", () { test('set/unset parent geometry', () async { await testHelper.withViewer((viewer) async { - var blueMaterialInstance = await viewer.createUnlitMaterialInstance(); - final blueCube = await viewer.createGeometry(GeometryHelper.cube(normals: false, uvs: false), + var blueMaterialInstance = + await FilamentApp.instance!.createUnlitMaterialInstance(); + final blueCube = await viewer.createGeometry( + GeometryHelper.cube(normals: false, uvs: false), materialInstances: [blueMaterialInstance]); await blueMaterialInstance.setParameterFloat4( "baseColorFactor", 0.0, 0.0, 1.0, 1.0); // Position blue cube slightly behind and to the right - await viewer.setTransform( - blueCube.entity, Matrix4.translation(Vector3(1.0, 0.0, -1.0))); + await blueCube + .setTransform(Matrix4.translation(Vector3(1.0, 0.0, -1.0))); - var greenMaterialInstance = await viewer.createUnlitMaterialInstance(); - final greenCube = await viewer.createGeometry(GeometryHelper.cube(normals: false, uvs: false), + var greenMaterialInstance = + await FilamentApp.instance!.createUnlitMaterialInstance(); + final greenCube = await viewer.createGeometry( + GeometryHelper.cube(normals: false, uvs: false), materialInstances: [greenMaterialInstance]); await greenMaterialInstance.setParameterFloat4( "baseColorFactor", 0.0, 1.0, 0.0, 1.0); - await testHelper.capture(viewer, "before_parent"); - await viewer.setParent(blueCube.entity, greenCube.entity); + await viewer.addToScene(blueCube); + await viewer.addToScene(greenCube); - await viewer.setTransform( - greenCube.entity, Matrix4.translation(Vector3.all(-1))); + await testHelper.capture(viewer.view, "before_parent"); - await testHelper.capture(viewer, "after_parent"); + await FilamentApp.instance!.setParent(blueCube.entity, greenCube.entity); - await viewer.setParent(blueCube.entity, null); + await greenCube.setTransform(Matrix4.translation(Vector3.all(-1))); - await testHelper.capture(viewer, "unparent"); + await testHelper.capture(viewer.view, "after_parent"); + + await FilamentApp.instance!.setParent(blueCube.entity, null); + + await testHelper.capture(viewer.view, "unparent"); }); }); }); } +