Browse Source

Fix resize function and change geometry to Icosahedron type.

Daosheng Mu 10 years ago
parent
commit
6e535891a5
1 changed files with 9 additions and 13 deletions
  1. 9 13
      examples/webgl_postprocessing_ssao.html

+ 9 - 13
examples/webgl_postprocessing_ssao.html

@@ -59,7 +59,7 @@ Spiral sampling http://web.archive.org/web/20120421191837/http://www.cgafaq.info
             var group;
             var depthScale = 1.0;
             var height = window.innerHeight;
-            var postprocessing = { enabled : true, renderMode: 'framebuffer' }; // renderMode: 'framebuffer', 'onlyAO'
+            var postprocessing = { enabled : true, renderMode: 0 }; // renderMode: 0('framebuffer'), 1('onlyAO')
 
             init();
             animate();
@@ -87,15 +87,10 @@ Spiral sampling http://web.archive.org/web/20120421191837/http://www.cgafaq.info
 
                 group = new THREE.Object3D();
                 scene.add( group );
-
-                var directionalLight = new THREE.DirectionalLight( 0xffffff, 1 );
-                directionalLight.position.set( 2, 1.2, 10 ).normalize();
-                scene.add( directionalLight );
-                
-                var geometry = new THREE.SphereBufferGeometry(5, 100, 100); //new THREE.BoxGeometry( 10, 10, 10 );
-                for ( var i = 0; i < 100; i ++ ) {
+           
+                var geometry = new THREE.IcosahedronGeometry( 5, 1 );
+                for ( var i = 0; i < 200; i ++ ) {
                 
-                    //var material = new THREE.MeshLambertMaterial({color: 0xaa0000});  //new 
                     var material = new THREE.MeshBasicMaterial();
                     material.color.r = Math.random();
                     material.color.g = Math.random();
@@ -124,7 +119,6 @@ Spiral sampling http://web.archive.org/web/20120421191837/http://www.cgafaq.info
                 // Init gui
                 var gui = new dat.GUI();
                 gui.add( postprocessing, "enabled" ).onChange();
-                // gui.add( postprocessing, "type" ).onChange( postprocessChange );
                 gui.add( postprocessing, "renderMode", { framebuffer: 0, onlyAO: 1 } ).onChange( renderModeChange ).listen();
 
                 window.addEventListener( 'resize', onWindowResize, false );
@@ -132,9 +126,9 @@ Spiral sampling http://web.archive.org/web/20120421191837/http://www.cgafaq.info
 
             function renderModeChange( value ) {
 
-                if ( value == 0 ) {    // framebuffer
+                if ( value == 0 ) { // framebuffer
                     postprocessing.ssao_uniforms[ 'onlyAO' ].value = false;
-                } else if ( value == 1 ) { // onlyAO
+                } else if ( value == 1 ) {  // onlyAO
                     postprocessing.ssao_uniforms[ 'onlyAO' ].value = true;
                 } else {
                     console.error( "Not define renderModeChange type: " + value );
@@ -146,6 +140,8 @@ Spiral sampling http://web.archive.org/web/20120421191837/http://www.cgafaq.info
                 camera.aspect = window.innerWidth / window.innerHeight;
                 camera.updateProjectionMatrix();
                 renderer.setSize( window.innerWidth, window.innerHeight );
+
+                initPostprocessing();
             }
 
             function initPostprocessing() {
@@ -168,7 +164,7 @@ Spiral sampling http://web.archive.org/web/20120421191837/http://www.cgafaq.info
                 postprocessing.ssao_uniforms[ 'size' ].value.set( window.innerWidth*depthScale, window.innerHeight*depthScale );
                 postprocessing.ssao_uniforms[ 'cameraNear' ].value = camera.near;
                 postprocessing.ssao_uniforms[ 'cameraFar' ].value = camera.far;
-                postprocessing.ssao_uniforms[ 'onlyAO' ].value = false;
+                postprocessing.ssao_uniforms[ 'onlyAO' ].value = ( postprocessing.renderMode == 1 );
                 
                 postprocessing.materialSSAO = new THREE.ShaderMaterial( {