|
@@ -88,6 +88,10 @@
|
|
shadowBias: -0.0002,
|
|
shadowBias: -0.0002,
|
|
shadowDarkness: 0.3
|
|
shadowDarkness: 0.3
|
|
|
|
|
|
|
|
+ }, gamma = {
|
|
|
|
+ gammaFactor: 2.0,
|
|
|
|
+ gammaInput: true,
|
|
|
|
+ gammaOutput: true
|
|
};
|
|
};
|
|
|
|
|
|
init();
|
|
init();
|
|
@@ -385,44 +389,70 @@
|
|
|
|
|
|
gui = new dat.GUI();
|
|
gui = new dat.GUI();
|
|
|
|
|
|
- gui.add( shadowConfig, 'shadowCameraVisible' ).onChange( function() {
|
|
|
|
|
|
+ shadowGUI = gui.addFolder( "Shadow" );
|
|
|
|
+
|
|
|
|
+ shadowGUI.add( shadowConfig, 'shadowCameraVisible' ).onChange( function() {
|
|
|
|
|
|
sunLight.shadowCameraVisible = shadowConfig.shadowCameraVisible;
|
|
sunLight.shadowCameraVisible = shadowConfig.shadowCameraVisible;
|
|
|
|
|
|
});
|
|
});
|
|
|
|
|
|
- gui.add( shadowConfig, 'shadowCameraNear', 1, 1500 ).onChange( function() {
|
|
|
|
|
|
+ shadowGUI.add( shadowConfig, 'shadowCameraNear', 1, 1500 ).onChange( function() {
|
|
|
|
|
|
sunLight.shadowCamera.near = shadowConfig.shadowCameraNear;
|
|
sunLight.shadowCamera.near = shadowConfig.shadowCameraNear;
|
|
sunLight.shadowCamera.updateProjectionMatrix();
|
|
sunLight.shadowCamera.updateProjectionMatrix();
|
|
|
|
|
|
});
|
|
});
|
|
|
|
|
|
- gui.add( shadowConfig, 'shadowCameraFar', 1501, 5000 ).onChange( function() {
|
|
|
|
|
|
+ shadowGUI.add( shadowConfig, 'shadowCameraFar', 1501, 5000 ).onChange( function() {
|
|
|
|
|
|
sunLight.shadowCamera.far = shadowConfig.shadowCameraFar;
|
|
sunLight.shadowCamera.far = shadowConfig.shadowCameraFar;
|
|
sunLight.shadowCamera.updateProjectionMatrix();
|
|
sunLight.shadowCamera.updateProjectionMatrix();
|
|
|
|
|
|
});
|
|
});
|
|
|
|
|
|
- gui.add( shadowConfig, 'shadowCameraFov', 1, 120 ).onChange( function() {
|
|
|
|
|
|
+ shadowGUI.add( shadowConfig, 'shadowCameraFov', 1, 120 ).onChange( function() {
|
|
|
|
|
|
sunLight.shadowCamera.fov = shadowConfig.shadowCameraFov;
|
|
sunLight.shadowCamera.fov = shadowConfig.shadowCameraFov;
|
|
sunLight.shadowCamera.updateProjectionMatrix();
|
|
sunLight.shadowCamera.updateProjectionMatrix();
|
|
|
|
|
|
});
|
|
});
|
|
|
|
|
|
- gui.add( shadowConfig, 'shadowBias', -0.01, 0.01 ).onChange( function() {
|
|
|
|
|
|
+ shadowGUI.add( shadowConfig, 'shadowBias', -0.01, 0.01 ).onChange( function() {
|
|
|
|
|
|
sunLight.shadowBias = shadowConfig.shadowBias;
|
|
sunLight.shadowBias = shadowConfig.shadowBias;
|
|
|
|
|
|
});
|
|
});
|
|
|
|
|
|
- gui.add( shadowConfig, 'shadowDarkness', 0, 1 ).onChange( function() {
|
|
|
|
|
|
+ shadowGUI.add( shadowConfig, 'shadowDarkness', 0, 1 ).onChange( function() {
|
|
|
|
|
|
});
|
|
});
|
|
|
|
+ shadowGUI.open();
|
|
|
|
|
|
- gui.close();
|
|
|
|
|
|
+ gammaGUI = gui.addFolder( "Gamma" );
|
|
|
|
+
|
|
|
|
+ gammaGUI.add( gamma, 'gammaFactor', 0.1, 4.0 ).onChange( function() {
|
|
|
|
+
|
|
|
|
+ renderer.gammaFactor = gamma.gammaFactor;
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+ gammaGUI.open();
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+
|
|
|
|
+ Not exposed because they are not easily dynamically updated - as all shaders need to be recompiled. -bhouston
|
|
|
|
+
|
|
|
|
+ gammaGUI.add( gamma, 'gammaInput', true ).onChange( function() {
|
|
|
|
+
|
|
|
|
+ renderer.gammaInput = gamma.gammaInput;
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ gammaGUI.add( gamma, 'gammaOutput', true ).onChange( function() {
|
|
|
|
+
|
|
|
|
+ renderer.gammaOutput = gamma.gammaOutput;
|
|
|
|
+
|
|
|
|
+ });*/
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|