Sfoglia il codice sorgente

ToneMappingNode: Properly handle alpha (#29076)

WestLangley 1 anno fa
parent
commit
3e8a4f580e
1 ha cambiato i file con 3 aggiunte e 3 eliminazioni
  1. 3 3
      src/nodes/display/ToneMappingNode.js

+ 3 - 3
src/nodes/display/ToneMappingNode.js

@@ -1,6 +1,6 @@
 import TempNode from '../core/TempNode.js';
 import { addNodeClass } from '../core/Node.js';
-import { addNodeElement, Fn, nodeObject, float, mat3, vec3, If } from '../shadernode/ShaderNode.js';
+import { addNodeElement, Fn, nodeObject, float, mat3, vec3, vec4, If } from '../shadernode/ShaderNode.js';
 import { rendererReference } from '../accessors/RendererReferenceNode.js';
 import { select } from '../math/CondNode.js';
 import { clamp, log2, max, min, pow, mix } from '../math/MathNode.js';
@@ -194,14 +194,14 @@ class ToneMappingNode extends TempNode {
 
 		if ( toneMapping === NoToneMapping ) return colorNode;
 
-		const toneMappingParams = { exposure: this.exposureNode, color: colorNode };
+		const toneMappingParams = { exposure: this.exposureNode, color: colorNode.rgb };
 		const toneMappingNode = toneMappingLib[ toneMapping ];
 
 		let outputNode = null;
 
 		if ( toneMappingNode ) {
 
-			outputNode = toneMappingNode( toneMappingParams );
+			outputNode = vec4( toneMappingNode( toneMappingParams ), colorNode.a );
 
 		} else {
 

粤ICP备19079148号