Browse Source

Merge pull request #21384 from ycw/ssr

SSRPass : fixed MAX_STEP
Mr.doob 4 years ago
parent
commit
2b661c89a1
2 changed files with 4 additions and 4 deletions
  1. 3 3
      examples/jsm/postprocessing/SSRPass.js
  2. 1 1
      examples/jsm/shaders/SSRShader.js

+ 3 - 3
examples/jsm/postprocessing/SSRPass.js

@@ -219,9 +219,9 @@ var SSRPass = function ( { renderer, scene, camera, width, height, selects, enco
 	}
 
 	this.ssrMaterial = new ShaderMaterial( {
-		defines: Object.assign( {
-			MAX_STEP: Math.sqrt( window.innerWidth * window.innerWidth + window.innerHeight * window.innerHeight )
-		}, SSRShader.defines ),
+		defines: Object.assign( {}, SSRShader.defines, {
+			MAX_STEP: Math.sqrt( this.width * this.width + this.height * this.height )
+		} ),
 		uniforms: UniformsUtils.clone( SSRShader.uniforms ),
 		vertexShader: SSRShader.vertexShader,
 		fragmentShader: SSRShader.fragmentShader,

+ 1 - 1
examples/jsm/shaders/SSRShader.js

@@ -163,7 +163,7 @@ var SSRShader = {
 			float totalStep=max(abs(xLen),abs(yLen));
 			float xSpan=xLen/totalStep;
 			float ySpan=yLen/totalStep;
-			for(float i=0.;i<MAX_STEP;i++){
+			for(float i=0.;i<float(MAX_STEP);i++){
 				if(i>=totalStep) break;
 				vec2 xy=vec2(d0.x+i*xSpan,d0.y+i*ySpan);
 				if(xy.x<0.||xy.x>resolution.x||xy.y<0.||xy.y>resolution.y) break;