Bläddra i källkod

Examples: Fix Firefox Error in "webgl_interactive_cubes_gpu" (#8604)

* Examples: Fix Firefox error in "webgl_interactive_cubes_gpu"

* Revert "Examples: Fix Firefox error in "webgl_interactive_cubes_gpu""

This reverts commit f2130cc1afb18794ac30a7a85d69795e6b23dd40.

* WebGLRenderer: Ensure valid read requests in .readRenderTargetPixels
Michael Herzog 9 år sedan
förälder
incheckning
c7f50198ed
1 ändrade filer med 7 tillägg och 1 borttagningar
  1. 7 1
      src/renderers/WebGLRenderer.js

+ 7 - 1
src/renderers/WebGLRenderer.js

@@ -3762,7 +3762,13 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 				if ( _gl.checkFramebufferStatus( _gl.FRAMEBUFFER ) === _gl.FRAMEBUFFER_COMPLETE ) {
 
-					_gl.readPixels( x, y, width, height, paramThreeToGL( texture.format ), paramThreeToGL( texture.type ), buffer );
+					// the following if statement ensures valid read requests (no out-of-bounds pixels, see #8604)
+
+					if ( ( x > 0 && x <= ( renderTarget.width - width ) ) && ( y > 0 && y <= ( renderTarget.height - height ) ) ) {
+
+						_gl.readPixels( x, y, width, height, paramThreeToGL( texture.format ), paramThreeToGL( texture.type ), buffer );
+
+					}
 
 				} else {