Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions src/nodes/utils/ReflectorNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ class ReflectorNode extends TextureNode {
* @param {boolean} [parameters.generateMipmaps=false] - Whether mipmaps should be generated or not.
* @param {boolean} [parameters.bounces=true] - Whether reflectors can render other reflector nodes or not.
* @param {boolean} [parameters.depth=false] - Whether depth data should be generated or not.
* @param {number} [parameters.samples] - Anti-Aliasing samples of the internal render-target.
* @param {TextureNode} [parameters.defaultTexture] - The default texture node.
* @param {ReflectorBaseNode} [parameters.reflector] - The reflector base node.
*/
Expand Down Expand Up @@ -208,6 +209,7 @@ class ReflectorBaseNode extends Node {
* @param {boolean} [parameters.generateMipmaps=false] - Whether mipmaps should be generated or not.
* @param {boolean} [parameters.bounces=true] - Whether reflectors can render other reflector nodes or not.
* @param {boolean} [parameters.depth=false] - Whether depth data should be generated or not.
* @param {number} [parameters.samples] - Anti-Aliasing samples of the internal render-target.
*/
constructor( textureNode, parameters = {} ) {

Expand All @@ -218,7 +220,8 @@ class ReflectorBaseNode extends Node {
resolution = 1,
generateMipmaps = false,
bounces = true,
depth = false
depth = false,
samples = 0
} = parameters;

/**
Expand Down Expand Up @@ -268,6 +271,14 @@ class ReflectorBaseNode extends Node {
*/
this.depth = depth;

/**
* The number of anti-aliasing samples for the render-target
*
* @type {number}
* @default {0}
*/
this.samples = samples;

/**
* The `updateBeforeType` is set to `NodeUpdateType.RENDER` when {@link ReflectorBaseNode#bounces}
* is `true`. Otherwise it's `NodeUpdateType.FRAME`.
Expand Down Expand Up @@ -388,7 +399,7 @@ class ReflectorBaseNode extends Node {

if ( renderTarget === undefined ) {

renderTarget = new RenderTarget( 0, 0, { type: HalfFloatType } );
renderTarget = new RenderTarget( 0, 0, { type: HalfFloatType, ...( this.generateMipmaps ? {} : { samples: this.samples } ) } );

if ( this.generateMipmaps === true ) {

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