|
@@ -3,8 +3,10 @@ import {
|
|
|
ClampToEdgeWrapping,
|
|
|
DataTexture,
|
|
|
FloatType,
|
|
|
+ LinearEncoding,
|
|
|
Mesh,
|
|
|
NearestFilter,
|
|
|
+ NoToneMapping,
|
|
|
PlaneGeometry,
|
|
|
RGBAFormat,
|
|
|
Scene,
|
|
@@ -395,11 +397,26 @@ class GPUComputationRenderer {
|
|
|
|
|
|
const currentRenderTarget = renderer.getRenderTarget();
|
|
|
|
|
|
+ const currentXrEnabled = renderer.xr.enabled;
|
|
|
+ const currentShadowAutoUpdate = renderer.shadowMap.autoUpdate;
|
|
|
+ const currentOutputEncoding = renderer.outputEncoding;
|
|
|
+ const currentToneMapping = renderer.toneMapping;
|
|
|
+
|
|
|
+ renderer.xr.enabled = false; // Avoid camera modification
|
|
|
+ renderer.shadowMap.autoUpdate = false; // Avoid re-computing shadows
|
|
|
+ renderer.outputEncoding = LinearEncoding;
|
|
|
+ renderer.toneMapping = NoToneMapping;
|
|
|
+
|
|
|
mesh.material = material;
|
|
|
renderer.setRenderTarget( output );
|
|
|
renderer.render( scene, camera );
|
|
|
mesh.material = passThruShader;
|
|
|
|
|
|
+ renderer.xr.enabled = currentXrEnabled;
|
|
|
+ renderer.shadowMap.autoUpdate = currentShadowAutoUpdate;
|
|
|
+ renderer.outputEncoding = currentOutputEncoding;
|
|
|
+ renderer.toneMapping = currentToneMapping;
|
|
|
+
|
|
|
renderer.setRenderTarget( currentRenderTarget );
|
|
|
|
|
|
};
|