Skip to content

Commit ac6a8e0

Browse files
NoxDawnsongNox Dawnsong
andauthored
TSL: Add AA-samples parameter to reflector-node (#31542)
* Add AA-samples parameter to reflector-node * Remove mipmap-condition --------- Co-authored-by: Nox Dawnsong <[email protected]>
1 parent 3dd226d commit ac6a8e0

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

src/nodes/utils/ReflectorNode.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ class ReflectorNode extends TextureNode {
6565
* @param {boolean} [parameters.generateMipmaps=false] - Whether mipmaps should be generated or not.
6666
* @param {boolean} [parameters.bounces=true] - Whether reflectors can render other reflector nodes or not.
6767
* @param {boolean} [parameters.depth=false] - Whether depth data should be generated or not.
68+
* @param {number} [parameters.samples] - Anti-Aliasing samples of the internal render-target.
6869
* @param {TextureNode} [parameters.defaultTexture] - The default texture node.
6970
* @param {ReflectorBaseNode} [parameters.reflector] - The reflector base node.
7071
*/
@@ -208,6 +209,7 @@ class ReflectorBaseNode extends Node {
208209
* @param {boolean} [parameters.generateMipmaps=false] - Whether mipmaps should be generated or not.
209210
* @param {boolean} [parameters.bounces=true] - Whether reflectors can render other reflector nodes or not.
210211
* @param {boolean} [parameters.depth=false] - Whether depth data should be generated or not.
212+
* @param {number} [parameters.samples] - Anti-Aliasing samples of the internal render-target.
211213
*/
212214
constructor( textureNode, parameters = {} ) {
213215

@@ -218,7 +220,8 @@ class ReflectorBaseNode extends Node {
218220
resolution = 1,
219221
generateMipmaps = false,
220222
bounces = true,
221-
depth = false
223+
depth = false,
224+
samples = 0
222225
} = parameters;
223226

224227
/**
@@ -268,6 +271,14 @@ class ReflectorBaseNode extends Node {
268271
*/
269272
this.depth = depth;
270273

274+
/**
275+
* The number of anti-aliasing samples for the render-target
276+
*
277+
* @type {number}
278+
* @default {0}
279+
*/
280+
this.samples = samples;
281+
271282
/**
272283
* The `updateBeforeType` is set to `NodeUpdateType.RENDER` when {@link ReflectorBaseNode#bounces}
273284
* is `true`. Otherwise it's `NodeUpdateType.FRAME`.
@@ -388,7 +399,7 @@ class ReflectorBaseNode extends Node {
388399

389400
if ( renderTarget === undefined ) {
390401

391-
renderTarget = new RenderTarget( 0, 0, { type: HalfFloatType } );
402+
renderTarget = new RenderTarget( 0, 0, { type: HalfFloatType, samples: this.samples } );
392403

393404
if ( this.generateMipmaps === true ) {
394405

@@ -570,6 +581,7 @@ class ReflectorBaseNode extends Node {
570581
* @param {boolean} [parameters.generateMipmaps=false] - Whether mipmaps should be generated or not.
571582
* @param {boolean} [parameters.bounces=true] - Whether reflectors can render other reflector nodes or not.
572583
* @param {boolean} [parameters.depth=false] - Whether depth data should be generated or not.
584+
* @param {number} [parameters.samples] - Anti-Aliasing samples of the internal render-target.
573585
* @param {TextureNode} [parameters.defaultTexture] - The default texture node.
574586
* @param {ReflectorBaseNode} [parameters.reflector] - The reflector base node.
575587
* @returns {ReflectorNode}

0 commit comments

Comments
 (0)