From 3e04cf18dce490a3543d5d1eece82bbec8c024ad Mon Sep 17 00:00:00 2001 From: alteredq Date: Fri, 9 Sep 2011 21:08:29 +0200 Subject: [PATCH] Normalized Gaussian blur coefficients. Also shortened a life cycle for particles in shapes example. Still it gets about 10 fps slower with time :/ --- examples/js/ShaderExtras.js | 42 +++++++++++++--------------- examples/webgl_particles_shapes.html | 2 +- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/examples/js/ShaderExtras.js b/examples/js/ShaderExtras.js index 5f766676..5f3479c1 100644 --- a/examples/js/ShaderExtras.js +++ b/examples/js/ShaderExtras.js @@ -891,18 +891,17 @@ THREE.ShaderExtras = { "vec4 sum = vec4( 0.0 );", - "sum += texture2D( tDiffuse, vec2( vUv.x - 4.0 * h, vUv.y ) ) * 0.05;", - "sum += texture2D( tDiffuse, vec2( vUv.x - 3.0 * h, vUv.y ) ) * 0.09;", - "sum += texture2D( tDiffuse, vec2( vUv.x - 2.0 * h, vUv.y ) ) * 0.12;", - "sum += texture2D( tDiffuse, vec2( vUv.x - 1.0 * h, vUv.y ) ) * 0.15;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.16;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 1.0 * h, vUv.y ) ) * 0.15;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 2.0 * h, vUv.y ) ) * 0.12;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 3.0 * h, vUv.y ) ) * 0.09;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 4.0 * h, vUv.y ) ) * 0.05;", + "sum += texture2D( tDiffuse, vec2( vUv.x - 4.0 * h, vUv.y ) ) * 0.051;", + "sum += texture2D( tDiffuse, vec2( vUv.x - 3.0 * h, vUv.y ) ) * 0.0918;", + "sum += texture2D( tDiffuse, vec2( vUv.x - 2.0 * h, vUv.y ) ) * 0.12245;", + "sum += texture2D( tDiffuse, vec2( vUv.x - 1.0 * h, vUv.y ) ) * 0.1531;", + "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;", + "sum += texture2D( tDiffuse, vec2( vUv.x + 1.0 * h, vUv.y ) ) * 0.1531;", + "sum += texture2D( tDiffuse, vec2( vUv.x + 2.0 * h, vUv.y ) ) * 0.12245;", + "sum += texture2D( tDiffuse, vec2( vUv.x + 3.0 * h, vUv.y ) ) * 0.0918;", + "sum += texture2D( tDiffuse, vec2( vUv.x + 4.0 * h, vUv.y ) ) * 0.051;", - "gl_FragColor.xyz = sum.xyz/0.98;", // normalize - "gl_FragColor.a = 1.;", + "gl_FragColor = sum;", "}" @@ -944,18 +943,17 @@ THREE.ShaderExtras = { "vec4 sum = vec4( 0.0 );", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 4.0 * v ) ) * 0.05;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 3.0 * v ) ) * 0.09;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 2.0 * v ) ) * 0.12;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 1.0 * v ) ) * 0.15;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.16;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 1.0 * v ) ) * 0.15;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 2.0 * v ) ) * 0.12;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 3.0 * v ) ) * 0.09;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 4.0 * v ) ) * 0.05;", + "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 4.0 * v ) ) * 0.051;", + "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 3.0 * v ) ) * 0.0918;", + "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 2.0 * v ) ) * 0.12245;", + "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 1.0 * v ) ) * 0.1531;", + "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;", + "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 1.0 * v ) ) * 0.1531;", + "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 2.0 * v ) ) * 0.12245;", + "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 3.0 * v ) ) * 0.0918;", + "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 4.0 * v ) ) * 0.051;", - "gl_FragColor.xyz = sum.xyz/0.98;", - "gl_FragColor.a = 1.;", + "gl_FragColor = sum;", "}" diff --git a/examples/webgl_particles_shapes.html b/examples/webgl_particles_shapes.html index 7d63263f..6263c336 100644 --- a/examples/webgl_particles_shapes.html +++ b/examples/webgl_particles_shapes.html @@ -460,7 +460,7 @@ emitterpos = new THREE.Vector3( 0, 0, 0 ); sparksEmitter.addInitializer( new SPARKS.Position( new SPARKS.PointZone( emitterpos ) ) ); - sparksEmitter.addInitializer( new SPARKS.Lifetime( 1, 40 )); + sparksEmitter.addInitializer( new SPARKS.Lifetime( 1, 15 )); sparksEmitter.addInitializer( new SPARKS.Target( null, setTargetParticle ) );