diff --git a/src/script.js b/src/script.js index 25f3c53..9d6ba41 100644 --- a/src/script.js +++ b/src/script.js @@ -544,22 +544,30 @@ async function draw() { mat4Multiply(virtualViewMatrix, virtualViewMatrix2, virtualViewMatrix1); // interpolated projection matrix + mat4Identity(virtualProjectionMatrix); + let virtualProjectionMatrix1 = []; mat4BuildPerspective1(virtualProjectionMatrix1, 60.0 / 180.0 * Math.PI, cv.width / cv.height, 0.9, 5); mat4Interpolate(virtualProjectionMatrix1, identity, virtualProjectionMatrix1, interpolate[2]); + mat4Multiply(virtualProjectionMatrix, virtualProjectionMatrix1, virtualProjectionMatrix); let virtualProjectionMatrix2 = []; mat4BuildPerspective2(virtualProjectionMatrix2, 60.0 / 180.0 * Math.PI, cv.width / cv.height, 0.9, 5); mat4Interpolate(virtualProjectionMatrix2, identity, virtualProjectionMatrix2, interpolate[3]); + mat4Multiply(virtualProjectionMatrix, virtualProjectionMatrix2, virtualProjectionMatrix); let virtualProjectionMatrix3 = []; mat4BuildPerspective3(virtualProjectionMatrix3, 60.0 / 180.0 * Math.PI, cv.width / cv.height, 0.9, 5); mat4Interpolate(virtualProjectionMatrix3, identity, virtualProjectionMatrix3, interpolate[4]); + mat4Multiply(virtualProjectionMatrix, virtualProjectionMatrix3, virtualProjectionMatrix); - mat4Identity(virtualProjectionMatrix); - mat4Multiply(virtualProjectionMatrix, virtualProjectionMatrix, virtualProjectionMatrix3); - mat4Multiply(virtualProjectionMatrix, virtualProjectionMatrix, virtualProjectionMatrix2); - mat4Multiply(virtualProjectionMatrix, virtualProjectionMatrix, virtualProjectionMatrix1); + if (!displayMatricesVirtually) { + let virtualProjectionMatrix4 = []; + mat4BuildPerspective4(virtualProjectionMatrix4, 60.0 / 180.0 * Math.PI, cv.width / cv.height, 0.9, 5); + mat4Interpolate(virtualProjectionMatrix4, identity, virtualProjectionMatrix4, interpolate[5]); + mat4Multiply(virtualProjectionMatrix, virtualProjectionMatrix4, virtualProjectionMatrix); + + } gl.uniformMatrix4fv(virtualProjectionLocation, gl.FALSE, new Float32Array(virtualProjectionMatrix));