From 3be2c266f3e986ddd07fdf9b88437eefb0c41cfa Mon Sep 17 00:00:00 2001 From: alteredq Date: Mon, 26 Nov 2012 17:22:03 +0100 Subject: [PATCH] Simplified bumpmap shader for deferred normal pass. --- examples/js/ShaderDeferred.js | 37 +------------------ examples/webgl_lights_deferred_morphs.html | 3 +- .../webgl_lights_deferred_pointlights.html | 3 +- 3 files changed, 5 insertions(+), 38 deletions(-) diff --git a/examples/js/ShaderDeferred.js b/examples/js/ShaderDeferred.js index 6683701d47..bfe1bd1140 100644 --- a/examples/js/ShaderDeferred.js +++ b/examples/js/ShaderDeferred.js @@ -110,42 +110,7 @@ THREE.ShaderDeferred = { "varying vec2 vUv;", "varying vec3 vViewPosition;", - "uniform sampler2D bumpMap;", - "uniform float bumpScale;", - - // Derivative maps - bump mapping unparametrized surfaces by Morten Mikkelsen - // http://mmikkelsen3d.blogspot.sk/2011/07/derivative-maps.html - - // Evaluate the derivative of the height w.r.t. screen-space using forward differencing (listing 2) - - "vec2 dHdxy_fwd() {", - - "vec2 dSTdx = dFdx( vUv );", - "vec2 dSTdy = dFdy( vUv );", - - "float Hll = bumpScale * texture2D( bumpMap, vUv ).x;", - "float dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;", - "float dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;", - - "return vec2( dBx, dBy );", - - "}", - - "vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {", - - "vec3 vSigmaX = dFdx( surf_pos );", - "vec3 vSigmaY = dFdy( surf_pos );", - "vec3 vN = surf_norm;", // normalized - - "vec3 R1 = cross( vSigmaY, vN );", - "vec3 R2 = cross( vN, vSigmaX );", - - "float fDet = dot( vSigmaX, R1 );", - - "vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );", - "return normalize( abs( fDet ) * surf_norm - vGrad );", - - "}", + THREE.ShaderChunk[ "bumpmap_pars_fragment" ], "void main() {", diff --git a/examples/webgl_lights_deferred_morphs.html b/examples/webgl_lights_deferred_morphs.html index 52e1b5ca38..f7179ec74f 100644 --- a/examples/webgl_lights_deferred_morphs.html +++ b/examples/webgl_lights_deferred_morphs.html @@ -388,7 +388,8 @@ uniforms: uniforms, vertexShader: bumpShader.vertexShader, - fragmentShader: bumpShader.fragmentShader + fragmentShader: bumpShader.fragmentShader, + defines: { "USE_BUMPMAP": true } } ); diff --git a/examples/webgl_lights_deferred_pointlights.html b/examples/webgl_lights_deferred_pointlights.html index 824bc7fbdf..03be7c38d6 100644 --- a/examples/webgl_lights_deferred_pointlights.html +++ b/examples/webgl_lights_deferred_pointlights.html @@ -378,7 +378,8 @@ uniforms: uniforms, vertexShader: bumpShader.vertexShader, - fragmentShader: bumpShader.fragmentShader + fragmentShader: bumpShader.fragmentShader, + defines: { "USE_BUMPMAP": true } } ); uniforms.bumpMap.value = node.material.bumpMap; -- GitLab