test: add more tests
This commit is contained in:
@@ -13,6 +13,13 @@ import 'helpers.dart';
|
||||
void main() async {
|
||||
final testHelper = TestHelper("geometry");
|
||||
group("custom geometry", () {
|
||||
test('create cube with normals & uvs', () async {
|
||||
var viewer = await testHelper.createViewer();
|
||||
await viewer
|
||||
.createGeometry(GeometryHelper.cube(normals: true, uvs: true));
|
||||
await testHelper.capture(viewer, "geometry_cube_with_normals_uvs");
|
||||
});
|
||||
|
||||
test('create cube (no normals/uvs)', () async {
|
||||
await testHelper.withViewer((viewer) async {
|
||||
var viewMatrix =
|
||||
@@ -41,13 +48,6 @@ void main() async {
|
||||
});
|
||||
});
|
||||
|
||||
test('create cube (with normals)', () async {
|
||||
var viewer = await testHelper.createViewer();
|
||||
await viewer
|
||||
.createGeometry(GeometryHelper.cube(normals: true, uvs: false));
|
||||
await testHelper.capture(viewer, "geometry_cube_with_normals");
|
||||
});
|
||||
|
||||
test('create cube with lit ubershader material (normals/ no uvs)',
|
||||
() async {
|
||||
await testHelper.withViewer((viewer) async {
|
||||
@@ -91,24 +91,24 @@ void main() async {
|
||||
});
|
||||
});
|
||||
|
||||
// test('create instance (shared material)', () async {
|
||||
// await testHelper.withViewer((viewer) async {
|
||||
// final materialInstance = await viewer.createUnlitMaterialInstance();
|
||||
// await materialInstance.setParameterFloat4(
|
||||
// "baseColorFactor", 1.0, 0.0, 0.0, 1.0);
|
||||
// final cube = await viewer.createGeometry(
|
||||
// GeometryHelper.cube(normals: true, uvs: false),
|
||||
// materialInstances: [materialInstance]);
|
||||
test('create instance (shared material)', () async {
|
||||
await testHelper.withViewer((viewer) async {
|
||||
final materialInstance = await viewer.createUnlitMaterialInstance();
|
||||
await materialInstance.setParameterFloat4(
|
||||
"baseColorFactor", 1.0, 0.0, 0.0, 1.0);
|
||||
final cube = await viewer.createGeometry(
|
||||
GeometryHelper.cube(normals: true, uvs: false),
|
||||
materialInstances: [materialInstance]);
|
||||
|
||||
// final instance = await viewer
|
||||
// .createInstance(cube, materialInstances: [materialInstance]);
|
||||
// await viewer.setTransform(
|
||||
// instance.entity, Matrix4.translation(Vector3.all(1)));
|
||||
final instance = await cube.createInstance();
|
||||
await instance.addToScene();
|
||||
await viewer.setTransform(
|
||||
instance.entity, Matrix4.translation(Vector3.all(1)));
|
||||
|
||||
// await testHelper.capture(
|
||||
// viewer, "geometry_instanced_with_shared_material_instance");
|
||||
// });
|
||||
// });
|
||||
await testHelper.capture(
|
||||
viewer, "geometry_instanced_with_shared_material");
|
||||
});
|
||||
});
|
||||
|
||||
// test('create instance (no material on second instance)', () async {
|
||||
// await testHelper.withViewer((viewer) async {
|
||||
@@ -151,8 +151,7 @@ void main() async {
|
||||
// });
|
||||
// });
|
||||
|
||||
test('create cube with custom ubershader material instance (color)',
|
||||
() async {
|
||||
test('create cube with custom ubershader material (color)', () async {
|
||||
await testHelper.withViewer((viewer) async {
|
||||
await viewer.addLight(LightType.SUN, 6500, 1000000, 0, 0, 0, 0, 0, -1);
|
||||
await viewer.setCameraPosition(0, 2, 6);
|
||||
|
||||
@@ -43,11 +43,13 @@ void main() async {
|
||||
|
||||
await viewer.destroyAsset(instance);
|
||||
|
||||
await testHelper.capture(viewer, "load_glb_from_buffer_instance_removed");
|
||||
await testHelper.capture(
|
||||
viewer, "load_glb_from_buffer_instance_removed");
|
||||
|
||||
await viewer.destroyAsset(model);
|
||||
|
||||
await testHelper.capture(viewer, "load_glb_from_buffer_original_removed");
|
||||
await testHelper.capture(
|
||||
viewer, "load_glb_from_buffer_original_removed");
|
||||
}, bg: kRed);
|
||||
});
|
||||
|
||||
@@ -115,7 +117,7 @@ void main() async {
|
||||
});
|
||||
});
|
||||
|
||||
test('replace material instance for gltf', () async {
|
||||
test('replace material instance with unlit material', () async {
|
||||
await testHelper.withViewer((viewer) async {
|
||||
var model = await viewer
|
||||
.loadGlb("file://${testHelper.testDir}/assets/cube.glb");
|
||||
@@ -124,10 +126,28 @@ void main() async {
|
||||
await materialInstance.setParameterFloat4(
|
||||
"baseColorFactor", 1.0, 1.0, 0.0, 1.0);
|
||||
await model.setMaterialInstanceAt(materialInstance);
|
||||
await testHelper.capture(viewer, "gltf_set_material_instance");
|
||||
await testHelper.capture(
|
||||
viewer, "gltf_replace_material_instance_unlit");
|
||||
await viewer.destroyAsset(model);
|
||||
await viewer.destroyMaterialInstance(materialInstance);
|
||||
});
|
||||
});
|
||||
|
||||
test('replace material instance with ubershader material', () async {
|
||||
await testHelper.withViewer((viewer) async {
|
||||
var model = await viewer
|
||||
.loadGlb("file://${testHelper.testDir}/assets/cube.glb");
|
||||
await viewer
|
||||
.loadIbl("file://${testHelper.testDir}/assets/default_env_ibl.ktx");
|
||||
var materialInstance = await viewer.createUbershaderMaterialInstance();
|
||||
await materialInstance.setParameterFloat4(
|
||||
"baseColorFactor", 1.0, 1.0, 0.0, 1.0);
|
||||
await model.setMaterialInstanceAt(materialInstance);
|
||||
await testHelper.capture(
|
||||
viewer, "gltf_replace_material_instance_ubershader");
|
||||
await viewer.destroyAsset(model);
|
||||
await viewer.destroyMaterialInstance(materialInstance);
|
||||
}, bg: kRed);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -104,6 +104,23 @@ void main() async {
|
||||
await viewer.dispose();
|
||||
});
|
||||
|
||||
test('ubershader material with color only', () async {
|
||||
await testHelper.withViewer((viewer) async {
|
||||
var materialInstance = await viewer.createUbershaderMaterialInstance();
|
||||
await viewer
|
||||
.loadIbl("file://${testHelper.testDir}/assets/default_env_ibl.ktx");
|
||||
var cube = await viewer.createGeometry(
|
||||
GeometryHelper.cube(normals: true, uvs: true),
|
||||
materialInstances: [materialInstance]);
|
||||
|
||||
await materialInstance.setParameterFloat4(
|
||||
"baseColorFactor", 0.0, 1.0, 0.0, 1.0);
|
||||
await materialInstance.setParameterInt("baseColorIndex", -1);
|
||||
await testHelper.capture(viewer, "ubershader_material_base_color");
|
||||
await viewer.destroyMaterialInstance(materialInstance);
|
||||
}, bg: kRed, postProcessing: true);
|
||||
});
|
||||
|
||||
test('apply texture to custom ubershader material instance', () async {
|
||||
var viewer = await testHelper.createViewer();
|
||||
await viewer.addLight(LightType.SUN, 6500, 1000000, 0, 0, 0, 0, 0, -1);
|
||||
|
||||
Reference in New Issue
Block a user