Skip to content

Commit

Permalink
SceneNode: Add backgroundIntensity (#26447)
Browse files Browse the repository at this point in the history
* SceneNode: Add backgroundIntensity

* Add backgroundIntensity
  • Loading branch information
sunag committed Jul 16, 2023
1 parent 3166056 commit c786fc0
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 3 deletions.
2 changes: 1 addition & 1 deletion examples/jsm/nodes/Nodes.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ export { default as PositionNode, positionGeometry, positionLocal, positionWorld
export { default as ReferenceNode, reference } from './accessors/ReferenceNode.js';
export { default as ReflectVectorNode, reflectVector } from './accessors/ReflectVectorNode.js';
export { default as SkinningNode, skinning } from './accessors/SkinningNode.js';
export { default as SceneNode, backgroundBlurriness } from './accessors/SceneNode.js';
export { default as SceneNode, backgroundBlurriness, backgroundIntensity } from './accessors/SceneNode.js';
export { default as StorageBufferNode, storage } from './accessors/StorageBufferNode.js';
export { default as TangentNode, tangentGeometry, tangentLocal, tangentView, tangentWorld, transformedTangentView, transformedTangentWorld } from './accessors/TangentNode.js';
export { default as TextureNode, texture, /*textureLevel,*/ sampler } from './accessors/TextureNode.js';
Expand Down
6 changes: 6 additions & 0 deletions examples/jsm/nodes/accessors/SceneNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ class SceneNode extends Node {

output = reference( 'backgroundBlurriness', 'float', scene );

} else if ( scope === SceneNode.BACKGROUND_INTENSITY ) {

output = reference( 'backgroundIntensity', 'float', scene );

} else {

console.error( 'THREE.SceneNode: Unknown scope:', scope );
Expand All @@ -38,9 +42,11 @@ class SceneNode extends Node {
}

SceneNode.BACKGROUND_BLURRINESS = 'backgroundBlurriness';
SceneNode.BACKGROUND_INTENSITY = 'backgroundIntensity';

export default SceneNode;

export const backgroundBlurriness = nodeImmutable( SceneNode, SceneNode.BACKGROUND_BLURRINESS );
export const backgroundIntensity = nodeImmutable( SceneNode, SceneNode.BACKGROUND_INTENSITY );

addNodeClass( SceneNode );
4 changes: 2 additions & 2 deletions examples/jsm/renderers/common/Background.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import DataMap from './DataMap.js';
import { Color, Mesh, SphereGeometry, BackSide } from 'three';
import { context, positionWorldDirection, backgroundBlurriness, MeshBasicNodeMaterial } from '../../nodes/Nodes.js';
import { context, positionWorldDirection, backgroundBlurriness, backgroundIntensity, MeshBasicNodeMaterial } from '../../nodes/Nodes.js';

let _clearAlpha;
const _clearColor = new Color();
Expand Down Expand Up @@ -57,7 +57,7 @@ class Background extends DataMap {
// @TODO: Add Texture2D support using node context
getUVNode: () => positionWorldDirection,
getSamplerLevelNode: () => backgroundBlurriness
} );
} ).mul( backgroundIntensity );

const nodeMaterial = new MeshBasicNodeMaterial();
nodeMaterial.colorNode = this.boxMeshNode;
Expand Down

0 comments on commit c786fc0

Please sign in to comment.