|
@@ -53,11 +53,9 @@
|
|
import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
|
|
import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
|
|
import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
|
|
import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
|
|
import { ShaderPass } from 'three/addons/postprocessing/ShaderPass.js';
|
|
import { ShaderPass } from 'three/addons/postprocessing/ShaderPass.js';
|
|
- import { CopyShader } from 'three/addons/shaders/CopyShader.js';
|
|
|
|
|
|
+ import { ColorCorrectionShader } from 'three/addons/shaders/ColorCorrectionShader.js';
|
|
import { FXAAShader } from 'three/addons/shaders/FXAAShader.js';
|
|
import { FXAAShader } from 'three/addons/shaders/FXAAShader.js';
|
|
|
|
|
|
- THREE.ColorManagement.enabled = false; // TODO: Consider enabling color management.
|
|
|
|
-
|
|
|
|
let camera, scene, renderer, clock, group, container;
|
|
let camera, scene, renderer, clock, group, container;
|
|
|
|
|
|
let composer1, composer2, fxaaPass;
|
|
let composer1, composer2, fxaaPass;
|
|
@@ -78,7 +76,7 @@
|
|
|
|
|
|
//
|
|
//
|
|
|
|
|
|
- const hemiLight = new THREE.HemisphereLight( 0xffffff, 0x444444 );
|
|
|
|
|
|
+ const hemiLight = new THREE.HemisphereLight( 0xffffff, 0x8d8d8d );
|
|
hemiLight.position.set( 0, 1000, 0 );
|
|
hemiLight.position.set( 0, 1000, 0 );
|
|
scene.add( hemiLight );
|
|
scene.add( hemiLight );
|
|
|
|
|
|
@@ -91,7 +89,7 @@
|
|
group = new THREE.Group();
|
|
group = new THREE.Group();
|
|
|
|
|
|
const geometry = new THREE.TetrahedronGeometry( 10 );
|
|
const geometry = new THREE.TetrahedronGeometry( 10 );
|
|
- const material = new THREE.MeshStandardMaterial( { color: 0xee0808, flatShading: true } );
|
|
|
|
|
|
+ const material = new THREE.MeshStandardMaterial( { color: 0xf73232, flatShading: true } );
|
|
|
|
|
|
for ( let i = 0; i < 100; i ++ ) {
|
|
for ( let i = 0; i < 100; i ++ ) {
|
|
|
|
|
|
@@ -131,11 +129,11 @@
|
|
|
|
|
|
fxaaPass = new ShaderPass( FXAAShader );
|
|
fxaaPass = new ShaderPass( FXAAShader );
|
|
|
|
|
|
- const copyPass = new ShaderPass( CopyShader );
|
|
|
|
|
|
+ const colorCorrectionPass = new ShaderPass( ColorCorrectionShader );
|
|
|
|
|
|
composer1 = new EffectComposer( renderer );
|
|
composer1 = new EffectComposer( renderer );
|
|
composer1.addPass( renderPass );
|
|
composer1.addPass( renderPass );
|
|
- composer1.addPass( copyPass );
|
|
|
|
|
|
+ composer1.addPass( colorCorrectionPass );
|
|
|
|
|
|
//
|
|
//
|
|
|
|
|
|
@@ -146,6 +144,10 @@
|
|
|
|
|
|
composer2 = new EffectComposer( renderer );
|
|
composer2 = new EffectComposer( renderer );
|
|
composer2.addPass( renderPass );
|
|
composer2.addPass( renderPass );
|
|
|
|
+ composer2.addPass( colorCorrectionPass );
|
|
|
|
+
|
|
|
|
+ // FXAA is engineered to be applied towards the end of engine post processing after conversion to low dynamic range and conversion to the sRGB color space for display.´
|
|
|
|
+
|
|
composer2.addPass( fxaaPass );
|
|
composer2.addPass( fxaaPass );
|
|
|
|
|
|
//
|
|
//
|