Browse Source

Support transmission roughness on WebGL1 (#23460)

* Support transmission roughness on WebGL1

* Update WebGLRenderer.js

Co-authored-by: mrdoob <[email protected]>
George Corney 3 years ago
parent
commit
a1fcf3f0f7
1 changed files with 12 additions and 3 deletions
  1. 12 3
      src/renderers/WebGLRenderer.js

+ 12 - 3
src/renderers/WebGLRenderer.js

@@ -9,9 +9,9 @@ import {
 	UnsignedByteType,
 	LinearEncoding,
 	NoToneMapping,
-	LinearFilter,
 	LinearMipmapLinearFilter
 } from '../constants.js';
+import { floorPowerOfTwo } from '../math/MathUtils';
 import { Frustum } from '../math/Frustum.js';
 import { Matrix4 } from '../math/Matrix4.js';
 import { Vector2 } from '../math/Vector2.js';
@@ -1194,14 +1194,23 @@ function WebGLRenderer( parameters = {} ) {
 			_transmissionRenderTarget = new renderTargetType( 1, 1, {
 				generateMipmaps: true,
 				type: HalfFloatType,
-				minFilter: isWebGL2 ? LinearMipmapLinearFilter : LinearFilter,
+				minFilter: LinearMipmapLinearFilter,
 				useRenderToTexture: extensions.has( 'WEBGL_multisampled_render_to_texture' )
 			} );
 
 		}
 
 		_this.getDrawingBufferSize( _vector2 );
-		_transmissionRenderTarget.setSize( _vector2.x, _vector2.y );
+
+		if ( isWebGL2 ) {
+
+			_transmissionRenderTarget.setSize( _vector2.x, _vector2.y );
+
+		} else {
+
+			_transmissionRenderTarget.setSize( floorPowerOfTwo( _vector2.x ), floorPowerOfTwo( _vector2.y ) );
+
+		}
 
 		//