|
@@ -1480,39 +1480,43 @@ class WebGLRenderer {
|
|
|
textures.updateMultisampleRenderTarget( transmissionRenderTarget );
|
|
|
textures.updateRenderTargetMipmap( transmissionRenderTarget );
|
|
|
|
|
|
- let renderTargetNeedsUpdate = false;
|
|
|
+ if ( extensions.has( 'WEBGL_multisampled_render_to_texture' ) === false ) { // see #28131
|
|
|
|
|
|
- for ( let i = 0, l = transmissiveObjects.length; i < l; i ++ ) {
|
|
|
+ let renderTargetNeedsUpdate = false;
|
|
|
|
|
|
- const renderItem = transmissiveObjects[ i ];
|
|
|
+ for ( let i = 0, l = transmissiveObjects.length; i < l; i ++ ) {
|
|
|
|
|
|
- const object = renderItem.object;
|
|
|
- const geometry = renderItem.geometry;
|
|
|
- const material = renderItem.material;
|
|
|
- const group = renderItem.group;
|
|
|
+ const renderItem = transmissiveObjects[ i ];
|
|
|
|
|
|
- if ( material.side === DoubleSide && object.layers.test( camera.layers ) ) {
|
|
|
+ const object = renderItem.object;
|
|
|
+ const geometry = renderItem.geometry;
|
|
|
+ const material = renderItem.material;
|
|
|
+ const group = renderItem.group;
|
|
|
|
|
|
- const currentSide = material.side;
|
|
|
+ if ( material.side === DoubleSide && object.layers.test( camera.layers ) ) {
|
|
|
|
|
|
- material.side = BackSide;
|
|
|
- material.needsUpdate = true;
|
|
|
+ const currentSide = material.side;
|
|
|
|
|
|
- renderObject( object, scene, camera, geometry, material, group );
|
|
|
+ material.side = BackSide;
|
|
|
+ material.needsUpdate = true;
|
|
|
+
|
|
|
+ renderObject( object, scene, camera, geometry, material, group );
|
|
|
|
|
|
- material.side = currentSide;
|
|
|
- material.needsUpdate = true;
|
|
|
+ material.side = currentSide;
|
|
|
+ material.needsUpdate = true;
|
|
|
|
|
|
- renderTargetNeedsUpdate = true;
|
|
|
+ renderTargetNeedsUpdate = true;
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
|
- }
|
|
|
+ if ( renderTargetNeedsUpdate === true ) {
|
|
|
|
|
|
- if ( renderTargetNeedsUpdate === true ) {
|
|
|
+ textures.updateMultisampleRenderTarget( transmissionRenderTarget );
|
|
|
+ textures.updateRenderTargetMipmap( transmissionRenderTarget );
|
|
|
|
|
|
- textures.updateMultisampleRenderTarget( transmissionRenderTarget );
|
|
|
- textures.updateRenderTargetMipmap( transmissionRenderTarget );
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|