-
-
Notifications
You must be signed in to change notification settings - Fork 36k
Closed
Description
Description
When rendering to an array render target with generateMipmaps = true
and minFilter = LinearMipmapLinearFilter
the following warning is logged and no mipmaps are generated:
INVALID_OPERATION: bindTexture: textures can not be used with multiple targets
Reproduction steps
- Create an array target with mipmaps enabled
- Render into the array target
- Error is logged, no mipmaps are generated
Code
const quad = new FullScreenQuad( new THREE.MeshBasicMaterial() );
quad.material.color.set( 0x00ff00 );
const target = new THREE.WebGLArrayRenderTarget( 100, 100, 100 );
target.texture.minFilter = THREE.LinearMipmapLinearFilter;
target.texture.magFilter = THREE.LinearFilter;
target.texture.generateMipmaps = true;
const renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer.initRenderTarget( target );
renderer.setRenderTarget( target, 0 );
quad.render( renderer );
renderer.setRenderTarget( null );
Live example
https://jsfiddle.net/hd2w7n3u/22/
Screenshots
This is showing Google Photorealistic tiles rendering with BatchedMesh and a WebGLArrayRenderTarget for textures. You can see that the model is black at steep angles where mipmaps are used.

Version
dev
Device
No response
Browser
No response
OS
No response