Skip to content

Commit e002b70

Browse files
authored
DenoiseNode: Retain unprocessed input values. (#28882)
1 parent f62bb8d commit e002b70

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

src/nodes/display/DenoiseNode.js

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,19 @@ class DenoiseNode extends TempNode {
8484

8585
} );
8686

87-
const denoise = tslFn( () => {
87+
const denoise = tslFn( ( [ uvNode ] ) => {
8888

8989
const depth = sampleDepth( uvNode );
9090
const viewNormal = sampleNormal( uvNode ).rgb.normalize();
9191

92-
depth.greaterThanEqual( 1.0 ).discard();
93-
dot( viewNormal, viewNormal ).equal( 0.0 ).discard();
94-
9592
const texel = sampleTexture( uvNode );
93+
94+
If( depth.greaterThanEqual( 1.0 ).or( dot( viewNormal, viewNormal ).equal( 0.0 ) ), () => {
95+
96+
return texel;
97+
98+
} );
99+
96100
const center = vec3( texel.rgb );
97101

98102
const viewPosition = getViewPosition( uvNode, depth );
@@ -132,10 +136,21 @@ class DenoiseNode extends TempNode {
132136

133137
return vec4( denoised, 1.0 );
134138

139+
} ).setLayout( {
140+
name: 'denoise',
141+
type: 'vec4',
142+
inputs: [
143+
{ name: 'uv', type: 'vec2' }
144+
]
145+
} );
146+
147+
const output = tslFn( () => {
148+
149+
return denoise( uvNode );
135150

136151
} );
137152

138-
const outputNode = denoise();
153+
const outputNode = output();
139154

140155
return outputNode;
141156

0 commit comments

Comments
 (0)