60 lines
2.3 KiB
Dart
60 lines
2.3 KiB
Dart
@Timeout(const Duration(seconds: 600))
|
|
import 'package:test/test.dart';
|
|
import 'package:thermion_dart/src/filament/src/interface/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('enable/disable dithering', () async {
|
|
await testHelper.withViewer((viewer) async {
|
|
final view = await viewer.view;
|
|
|
|
// dithering is disabled by default
|
|
expect(await view.isDitheringEnabled(), false);
|
|
|
|
await view.setDithering(true);
|
|
expect(await view.isDitheringEnabled(), true);
|
|
|
|
final cube = await viewer
|
|
.createGeometry(GeometryHelper.cube(normals: false, uvs: false));
|
|
|
|
await testHelper.capture(viewer.view, "dithering_enabled");
|
|
|
|
await view.setDithering(false);
|
|
expect(await view.isDitheringEnabled(), false);
|
|
await testHelper.capture(viewer.view, "dithering_disabled");
|
|
});
|
|
});
|
|
|
|
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);
|
|
});
|
|
});
|
|
}
|