|
@@ -46,6 +46,7 @@
|
|
import {
|
|
import {
|
|
StandardNodeMaterial,
|
|
StandardNodeMaterial,
|
|
FloatNode,
|
|
FloatNode,
|
|
|
|
+ OperatorNode,
|
|
TextureNode,
|
|
TextureNode,
|
|
TextureCubeNode
|
|
TextureCubeNode
|
|
} from './jsm/nodes/Nodes.js';
|
|
} from './jsm/nodes/Nodes.js';
|
|
@@ -55,13 +56,14 @@
|
|
roughness: 0.0,
|
|
roughness: 0.0,
|
|
metalness: 0.0,
|
|
metalness: 0.0,
|
|
exposure: 1.0,
|
|
exposure: 1.0,
|
|
|
|
+ intensity: 1.0,
|
|
animate: true,
|
|
animate: true,
|
|
debug: false
|
|
debug: false
|
|
};
|
|
};
|
|
|
|
|
|
var container, stats;
|
|
var container, stats;
|
|
var camera, scene, renderer, controls;
|
|
var camera, scene, renderer, controls;
|
|
- var nodeMaterial, nodeTexture, nodeTextureSize, torusMesh, planeMesh;
|
|
|
|
|
|
+ var nodeMaterial, nodeTexture, nodeTextureSize, nodeTextureIntensity, torusMesh, planeMesh;
|
|
var hdrCubeRenderTarget;
|
|
var hdrCubeRenderTarget;
|
|
var hdrCubeMap;
|
|
var hdrCubeMap;
|
|
|
|
|
|
@@ -118,8 +120,9 @@
|
|
|
|
|
|
nodeTexture = new TextureNode();
|
|
nodeTexture = new TextureNode();
|
|
nodeTextureSize = new FloatNode( 1024 );
|
|
nodeTextureSize = new FloatNode( 1024 );
|
|
|
|
+ nodeTextureIntensity = new FloatNode( 1 );
|
|
|
|
|
|
- nodeMaterial.environment = new TextureCubeNode( nodeTexture, nodeTextureSize );
|
|
|
|
|
|
+ nodeMaterial.environment = new OperatorNode( new TextureCubeNode( nodeTexture, nodeTextureSize ), nodeTextureIntensity, OperatorNode.MUL );
|
|
|
|
|
|
torusMesh = new THREE.Mesh( geometry, nodeMaterial );
|
|
torusMesh = new THREE.Mesh( geometry, nodeMaterial );
|
|
scene.add( torusMesh );
|
|
scene.add( torusMesh );
|
|
@@ -164,6 +167,7 @@
|
|
gui.add( params, 'roughness', 0, 1, 0.01 );
|
|
gui.add( params, 'roughness', 0, 1, 0.01 );
|
|
gui.add( params, 'metalness', 0, 1, 0.01 );
|
|
gui.add( params, 'metalness', 0, 1, 0.01 );
|
|
gui.add( params, 'exposure', 0, 2, 0.01 );
|
|
gui.add( params, 'exposure', 0, 2, 0.01 );
|
|
|
|
+ gui.add( params, 'intensity', 0, 2, 0.01 );
|
|
gui.add( params, 'animate', true );
|
|
gui.add( params, 'animate', true );
|
|
gui.add( params, 'debug', false );
|
|
gui.add( params, 'debug', false );
|
|
gui.open();
|
|
gui.open();
|
|
@@ -197,6 +201,8 @@
|
|
torusMesh.material.roughness.value = params.roughness;
|
|
torusMesh.material.roughness.value = params.roughness;
|
|
torusMesh.material.metalness.value = params.metalness;
|
|
torusMesh.material.metalness.value = params.metalness;
|
|
|
|
|
|
|
|
+ nodeTextureIntensity.value = params.intensity;
|
|
|
|
+
|
|
if ( nodeTextureSize.value !== params.textureSize ) {
|
|
if ( nodeTextureSize.value !== params.textureSize ) {
|
|
|
|
|
|
generate( params.textureSize );
|
|
generate( params.textureSize );
|