|
@@ -107,6 +107,8 @@
|
|
|
columns: 6,
|
|
|
size: 2,
|
|
|
zOffset : 5,
|
|
|
+ minLightness : 0,
|
|
|
+ maxLightness : 0.1,
|
|
|
scene: "Scene with Glow"
|
|
|
};
|
|
|
|
|
@@ -199,24 +201,28 @@
|
|
|
folder.add( params, 'exposure', 0.1, 2 ).onChange( function ( value ) {
|
|
|
|
|
|
renderer.toneMappingExposure = Math.pow( value, 4.0 );
|
|
|
+ render();
|
|
|
|
|
|
} );
|
|
|
|
|
|
folder.add( params, 'bloomThreshold', 0.0, 1.0 ).onChange( function ( value ) {
|
|
|
|
|
|
bloomPass.threshold = Number( value );
|
|
|
+ render();
|
|
|
|
|
|
} );
|
|
|
|
|
|
folder.add( params, 'bloomStrength', 0.0, 3.0 ).onChange( function ( value ) {
|
|
|
|
|
|
bloomPass.strength = Number( value );
|
|
|
+ render();
|
|
|
|
|
|
} );
|
|
|
|
|
|
folder.add( params, 'bloomRadius', 0.0, 1.0 ).step( 0.01 ).onChange( function ( value ) {
|
|
|
|
|
|
bloomPass.radius = Number( value );
|
|
|
+ render();
|
|
|
|
|
|
} );
|
|
|
|
|
@@ -230,6 +236,10 @@
|
|
|
|
|
|
folder.add( params, 'zOffset', 0, 10 ).onChange( setupBoxes );
|
|
|
|
|
|
+ folder.add( params, 'minLightness', 0, 1 ).onChange( setupBoxes );
|
|
|
+
|
|
|
+ folder.add( params, 'maxLightness', 0, 1 ).onChange( setupBoxes );
|
|
|
+
|
|
|
setupBoxes();
|
|
|
|
|
|
function onDocumentMouseClick( event ) {
|
|
@@ -272,14 +282,24 @@
|
|
|
var rows = params.rows;
|
|
|
var size = params.size;
|
|
|
var zOffset = params.zOffset;
|
|
|
+ var minLightness = params.minLightness;
|
|
|
+ var maxLightness = params.maxLightness;
|
|
|
+
|
|
|
scene.traverse(disposeMaterial);
|
|
|
scene.children.length = 0;
|
|
|
+
|
|
|
+ var hsl = {h : 0, s : 0, l : 0};
|
|
|
for ( var x = - columns * size / 2; x < columns * size / 2; x += size ) {
|
|
|
|
|
|
for ( var y = - rows * size / 2; y < rows * size / 2; y += size ) {
|
|
|
|
|
|
+ var color = new THREE.Color(Math.floor( Math.random() * 0xffffff ));
|
|
|
+ color.getHSL(hsl);
|
|
|
+ hsl.l = Math.min(Math.max(minLightness, hsl.l), maxLightness);
|
|
|
+ color.setHSL(hsl.h, hsl.s, hsl.l);
|
|
|
+
|
|
|
var box = new THREE.Mesh( getGeometry(), new THREE.MeshBasicMaterial( {
|
|
|
- color: Math.floor( Math.random() * 0xffffff )
|
|
|
+ color: color
|
|
|
} ) );
|
|
|
box.position.set( x, y, -zOffset + Math.random() * zOffset * 2 );
|
|
|
scene.add( box );
|