From 90521b8f8e4bd585476ab8d7891d1b9f90bd5d8a Mon Sep 17 00:00:00 2001 From: Fernando Serrano Date: Fri, 26 Apr 2019 18:15:43 +0200 Subject: [PATCH] Set multiview uniforms matrices array size based on multiview.getNumViews() --- src/renderers/webgl/WebGLProgram.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/renderers/webgl/WebGLProgram.js b/src/renderers/webgl/WebGLProgram.js index 021fe89073..5287670bf7 100644 --- a/src/renderers/webgl/WebGLProgram.js +++ b/src/renderers/webgl/WebGLProgram.js @@ -369,6 +369,8 @@ function WebGLProgram( renderer, extensions, code, material, shader, parameters, } else { + var numMultiviewViews = renderer.multiview.getNumViews(); + prefixVertex = [ 'precision ' + parameters.precision + ' float;', @@ -431,10 +433,10 @@ function WebGLProgram( renderer, extensions, code, material, shader, parameters, 'uniform vec3 cameraPosition;', material.supportsMultiview && renderer.multiview.isEnabled() ? [ - 'uniform mat4 modelViewMatrices[2];', - 'uniform mat3 normalMatrices[2];', - 'uniform mat4 viewMatrices[2];', - 'uniform mat4 projectionMatrices[2];', + 'uniform mat4 modelViewMatrices[' + numMultiviewViews + '];', + 'uniform mat3 normalMatrices[' + numMultiviewViews + '];', + 'uniform mat4 viewMatrices[' + numMultiviewViews + '];', + 'uniform mat4 projectionMatrices[' + numMultiviewViews + '];', '#define modelViewMatrix modelViewMatrices[VIEW_ID]', '#define normalMatrix normalMatrices[VIEW_ID]', @@ -570,7 +572,7 @@ function WebGLProgram( renderer, extensions, code, material, shader, parameters, material.supportsMultiview && renderer.multiview.isEnabled() ? [ - 'uniform mat4 viewMatrices[2];', + 'uniform mat4 viewMatrices[' + numMultiviewViews + '];', '#define viewMatrix viewMatrices[VIEW_ID]' ].join( '\n' ) : 'uniform mat4 viewMatrix;', -- GitLab