Files
cup_edit/thermion_dart/test/postprocessing_tests.dart
2025-03-28 10:01:00 +08:00

41 lines
1.6 KiB
Dart

@Timeout(const Duration(seconds: 600))
import 'package:test/test.dart';
import 'package:thermion_dart/src/filament/src/light_options.dart';
import 'package:thermion_dart/thermion_dart.dart';
import 'helpers.dart';
void main() async {
final testHelper = TestHelper("postprocessing");
await testHelper.setup();
group("assets", () {
test('enable/disable postprocessing', () async {
await testHelper.withViewer((viewer) async {
await viewer.setBackgroundColor(1.0, 0.0, 0.0, 1.0);
await testHelper.capture(viewer.view, "empty_scene_no_postprocessing");
await viewer.setPostProcessing(true);
await testHelper.capture(viewer.view, "empty_scene_postprocessing");
}, postProcessing: false, createRenderTarget: true);
});
test('bloom', () async {
await testHelper.withViewer((viewer) async {
await FilamentApp.instance!.setClearOptions(1, 1, 1, 1, clear: false);
var asset = await viewer
.loadGltf("file://${testHelper.testDir}/assets/cube.glb");
var light = await viewer.addDirectLight(
DirectLight.point(intensity: 1000000, falloffRadius: 10));
await viewer.setLightPosition(light, 1, 2, 2);
await viewer.setBloom(false, 0.5);
await testHelper.capture(viewer.view, "postprocessing_no_bloom");
await viewer.setBloom(true, 0.5);
await testHelper.capture(viewer.view, "postprocessing_bloom_0.5");
await viewer.setBloom(true, 1.0);
await testHelper.capture(viewer.view, "postprocessing_bloom_1.0");
}, postProcessing: true, createRenderTarget: true, bg: kBlue);
});
});
}