|
@@ -236,32 +236,37 @@ function runTest(index, done) {
|
|
|
currentViewer = null;
|
|
|
currentScene = null;
|
|
|
viewerElement.innerHTML = '';
|
|
|
- currentViewer = new BabylonViewer.DefaultViewer(viewerElement, configuration);
|
|
|
-
|
|
|
- currentViewer.onInitDoneObservable.add(() => {
|
|
|
-
|
|
|
- var currentFrame = 0;
|
|
|
- var waitForFrame = test.waitForFrame || 1;
|
|
|
-
|
|
|
- if (test.model) {
|
|
|
- currentViewer.initModel(test.model);
|
|
|
- } else if (test.createMesh) {
|
|
|
- prepareMeshForViewer(currentViewer, configuration, test);
|
|
|
- }
|
|
|
-
|
|
|
- currentViewer.onModelLoadedObservable.add((model) => {
|
|
|
- currentViewer.onFrameRenderedObservable.add(() => {
|
|
|
- if (test.animationTest && !currentFrame) {
|
|
|
- model.playAnimation(model.getAnimationNames()[0]);
|
|
|
- }
|
|
|
- if (currentFrame === waitForFrame) {
|
|
|
- currentViewer.sceneManager.scene.executeWhenReady(() => {
|
|
|
- evaluate(test, resultCanvas, result, renderImage, index, waitRing, done);
|
|
|
- });
|
|
|
- }
|
|
|
- currentFrame++;
|
|
|
+ setTimeout(() => {
|
|
|
+ currentViewer = new BabylonViewer.DefaultViewer(viewerElement, configuration);
|
|
|
+
|
|
|
+ currentViewer.onInitDoneObservable.add(() => {
|
|
|
+
|
|
|
+ var currentFrame = 0;
|
|
|
+ var waitForFrame = test.waitForFrame || 1;
|
|
|
+
|
|
|
+ currentViewer.onModelLoadedObservable.add((model) => {
|
|
|
+ console.log("model loaded");
|
|
|
+ currentViewer.onFrameRenderedObservable.add(() => {
|
|
|
+ console.log("frame rendered", currentFrame);
|
|
|
+ if (test.animationTest && !currentFrame) {
|
|
|
+ model.playAnimation(model.getAnimationNames()[0]);
|
|
|
+ }
|
|
|
+ if (currentFrame === waitForFrame) {
|
|
|
+ currentViewer.onFrameRenderedObservable.clear();
|
|
|
+ currentViewer.sceneManager.scene.executeWhenReady(() => {
|
|
|
+ evaluate(test, resultCanvas, result, renderImage, index, waitRing, done);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ currentFrame++;
|
|
|
+ });
|
|
|
});
|
|
|
- })
|
|
|
+
|
|
|
+ if (test.model) {
|
|
|
+ currentViewer.initModel(test.model);
|
|
|
+ } else if (test.createMesh) {
|
|
|
+ prepareMeshForViewer(currentViewer, configuration, test);
|
|
|
+ }
|
|
|
+ });
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -271,17 +276,11 @@ function prepareMeshForViewer(viewer, configuration, test) {
|
|
|
let sphereMesh = BABYLON.Mesh.CreateSphere('sphere-' + test.title, 20, 1.0, viewer.sceneManager.scene);
|
|
|
if (test.createMaterial) {
|
|
|
let material = new BABYLON.PBRMaterial("sphereMat", viewer.sceneManager.scene);
|
|
|
- /* material.useAlphaFresnel = material.needAlphaBlending();
|
|
|
- material.backFaceCulling = material.forceDepthWrite;
|
|
|
- material.twoSidedLighting = true;
|
|
|
- material.useSpecularOverAlpha = false;
|
|
|
- material.useRadianceOverAlpha = false;
|
|
|
- material.usePhysicalLightFalloff = true;
|
|
|
- material.forceNormalForward = true;*/
|
|
|
sphereMesh.material = material;
|
|
|
}
|
|
|
meshModel.addMesh(sphereMesh, true);
|
|
|
meshModel.rootMesh.position.y = 0.5;
|
|
|
+ console.log("sphere created");
|
|
|
}
|
|
|
|
|
|
function init() {
|