Browse Source

UniformsUtils: Check for XRRenderTarget in getUnlitUniformColorSpace (#27869)

* UniformsUtils: Check for XRRenderTarget in getUnlitUniformColorSpace

* Update src/renderers/shaders/UniformsUtils.js

Co-authored-by: Don McCurdy <[email protected]>

---------

Co-authored-by: Noeri Huisman <[email protected]>
Co-authored-by: Michael Herzog <[email protected]>
Co-authored-by: Don McCurdy <[email protected]>
Noeri Huisman 1 year ago
parent
commit
99d87b9462
1 changed files with 10 additions and 1 deletions
  1. 10 1
      src/renderers/shaders/UniformsUtils.js

+ 10 - 1
src/renderers/shaders/UniformsUtils.js

@@ -86,13 +86,22 @@ export function cloneUniformsGroups( src ) {
 
 export function getUnlitUniformColorSpace( renderer ) {
 
-	if ( renderer.getRenderTarget() === null ) {
+	const currentRenderTarget = renderer.getRenderTarget();
+
+	if ( currentRenderTarget === null ) {
 
 		// https://github.com/mrdoob/three.js/pull/23937#issuecomment-1111067398
 		return renderer.outputColorSpace;
 
 	}
 
+	// https://github.com/mrdoob/three.js/issues/27868
+	if ( currentRenderTarget.isXRRenderTarget === true ) {
+
+		return currentRenderTarget.texture.colorSpace;
+
+	}
+
 	return ColorManagement.workingColorSpace;
 
 }