Преглед изворни кода

SVGFNode: Keep the resolve target linearly filtered.

The internal targets must stay unfiltered for the filter math, but the
resolve target is only read by subsequent passes and should upsample
smoothly when the effect runs at a lower resolution than the output.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Mr.doob пре 5 дана
родитељ
комит
fbb68d22d9
1 измењених фајлова са 4 додато и 1 уклоњено
  1. 4 1
      examples/jsm/tsl/display/SVGFNode.js

+ 4 - 1
examples/jsm/tsl/display/SVGFNode.js

@@ -256,7 +256,10 @@ class SVGFNode extends TempNode {
 		this._geometryRenderTarget = new RenderTarget( 1, 1, rtOptions );
 		this._geometryRenderTarget.texture.name = 'SVGF.geometry';
 
-		for ( const rt of [ this._historyRenderTarget, this._temporalRenderTarget, this._resolveRenderTarget, this._geometryRenderTarget, ...this._atrousRenderTargets ] ) {
+		// the resolve target keeps linear filtering so the result upsamples smoothly when the
+		// effect runs at a lower resolution than the output
+
+		for ( const rt of [ this._historyRenderTarget, this._temporalRenderTarget, this._geometryRenderTarget, ...this._atrousRenderTargets ] ) {
 
 			rt.texture.minFilter = NearestFilter;
 			rt.texture.magFilter = NearestFilter;

粤ICP备19079148号