|
@@ -47,7 +47,7 @@
|
|
|
<script src="js/shaders/ConvolutionShader.js"></script>
|
|
|
<script src="js/shaders/ToneMapShader.js"></script>
|
|
|
<script src="js/shaders/GammaCorrectionShader.js"></script>
|
|
|
-
|
|
|
+
|
|
|
<script src="js/postprocessing/EffectComposer.js"></script>
|
|
|
<script src="js/postprocessing/RenderPass.js"></script>
|
|
|
<script src="js/postprocessing/MaskPass.js"></script>
|
|
@@ -111,7 +111,7 @@
|
|
|
cameraBG = new THREE.OrthographicCamera( -windowHalfX, windowHalfX, windowHalfY, -windowHalfY, -10000, 10000 );
|
|
|
cameraBG.position.z = 100;
|
|
|
|
|
|
- orbitControls = new THREE.OrbitControls(camera);
|
|
|
+ orbitControls = new THREE.OrbitControls( camera, container );
|
|
|
orbitControls.autoRotate = true;
|
|
|
orbitControls.autoRotateSpeed = 1;
|
|
|
|
|
@@ -158,7 +158,7 @@
|
|
|
fragmentShader: [
|
|
|
|
|
|
THREE.ShaderChunk[ "lights_phong_pars_fragment" ],
|
|
|
-
|
|
|
+
|
|
|
"void main() {",
|
|
|
"vec3 normal = normalize( -vNormal );",
|
|
|
"vec3 viewPosition = normalize( vViewPosition );",
|
|
@@ -180,7 +180,7 @@
|
|
|
//Fade out atmosphere at edge
|
|
|
"float viewDot = abs(dot( normal, viewPosition ));",
|
|
|
"viewDot = clamp( pow( viewDot + 0.6, 10.0 ), 0.0, 1.0);",
|
|
|
-
|
|
|
+
|
|
|
"vec3 colour = vec3( 0.05, 0.09, 0.13 ) * dirDiffuse;",
|
|
|
"gl_FragColor = vec4( colour, viewDot );",
|
|
|
|
|
@@ -195,7 +195,7 @@
|
|
|
color: 0xffffff,
|
|
|
shininess: 200
|
|
|
} );
|
|
|
-
|
|
|
+
|
|
|
var earthDiffuse = THREE.ImageUtils.loadTexture( 'textures/planets/earth_atmos_4096.jpg', undefined, function( tex ) {
|
|
|
earthMat.map = tex;
|
|
|
earthMat.needsUpdate = true;
|
|
@@ -216,7 +216,7 @@
|
|
|
transparent: true,
|
|
|
depthTest: false
|
|
|
} );
|
|
|
-
|
|
|
+
|
|
|
var earthLights = THREE.ImageUtils.loadTexture( 'textures/planets/earth_lights_2048.png', undefined, function( tex ) {
|
|
|
earthLightsMat.map = tex;
|
|
|
earthLightsMat.needsUpdate = true;
|
|
@@ -262,12 +262,12 @@
|
|
|
|
|
|
"uniform sampler2D map;",
|
|
|
"varying vec2 vUv;",
|
|
|
-
|
|
|
+
|
|
|
"void main() {",
|
|
|
-
|
|
|
+
|
|
|
"vec2 sampleUV = vUv;",
|
|
|
"vec4 colour = texture2D( map, sampleUV, 0.0 );",
|
|
|
-
|
|
|
+
|
|
|
"gl_FragColor = vec4( colour.xyz, 1.0 );",
|
|
|
|
|
|
"}"
|
|
@@ -296,7 +296,7 @@
|
|
|
// color: 0xffffff
|
|
|
// blending: THREE.NoBlending
|
|
|
} );
|
|
|
-
|
|
|
+
|
|
|
var quadBG = new THREE.Mesh( new THREE.PlaneBufferGeometry( 0.1, 0.1 ), currentLuminanceMat );
|
|
|
quadBG.position.z = -500;
|
|
|
quadBG.position.x = -window.innerWidth * 0.5 + window.innerWidth * 0.05;
|
|
@@ -332,7 +332,7 @@
|
|
|
mesh = new THREE.Mesh( new THREE.BoxGeometry( 100, 100, 100 ), skyboxMaterial );
|
|
|
sceneCube.add( mesh );
|
|
|
|
|
|
-
|
|
|
+
|
|
|
renderer = new THREE.WebGLRenderer();
|
|
|
renderer.setPixelRatio( window.devicePixelRatio );
|
|
|
renderer.setSize( window.innerWidth, window.innerHeight );
|
|
@@ -352,7 +352,7 @@
|
|
|
var parameters = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBAFormat, stencilBuffer: false };
|
|
|
var regularRenderTarget = new THREE.WebGLRenderTarget( windowThirdX, height, parameters );
|
|
|
ldrEffectComposer = new THREE.EffectComposer( renderer, regularRenderTarget );
|
|
|
-
|
|
|
+
|
|
|
if ( extensions.get('OES_texture_half_float_linear') ) {
|
|
|
parameters.type = THREE.FloatType;
|
|
|
}
|
|
@@ -374,7 +374,7 @@
|
|
|
bloomPass = new THREE.BloomPass();
|
|
|
var gammaCorrectionPass = new THREE.ShaderPass( THREE.GammaCorrectionShader );
|
|
|
gammaCorrectionPass.renderToScreen = true;
|
|
|
-
|
|
|
+
|
|
|
dynamicHdrEffectComposer.addPass( skyboxPass );
|
|
|
dynamicHdrEffectComposer.addPass( scenePass );
|
|
|
dynamicHdrEffectComposer.addPass( adaptToneMappingPass );
|
|
@@ -451,7 +451,7 @@
|
|
|
adaptToneMappingPass.setAdaptionRate( params.adaptionRate );
|
|
|
adaptiveLuminanceMat.uniforms.map.value = adaptToneMappingPass.luminanceRT;
|
|
|
currentLuminanceMat.uniforms.map.value = adaptToneMappingPass.currentLuminanceRT;
|
|
|
-
|
|
|
+
|
|
|
adaptToneMappingPass.enabled = params.enabled;
|
|
|
adaptToneMappingPass.setMaxLuminance( params.maxLuminance );
|
|
|
adaptToneMappingPass.setMiddleGrey( params.middleGrey );
|
|
@@ -462,7 +462,7 @@
|
|
|
if ( hdrToneMappingPass.setAverageLuminance ) {
|
|
|
hdrToneMappingPass.setAverageLuminance( params.avgLuminance );
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
ldrToneMappingPass.enabled = params.enabled;
|
|
|
ldrToneMappingPass.setMaxLuminance( params.maxLuminance );
|
|
|
ldrToneMappingPass.setMiddleGrey( params.middleGrey );
|