|
@@ -530,18 +530,18 @@ OutlinePass.prototype = Object.assign( Object.create( Pass.prototype ), {
|
|
|
void main() {\
|
|
|
vec2 invSize = 1.0 / texSize;\
|
|
|
float weightSum = gaussianPdf(0.0, kernelRadius);\
|
|
|
- vec3 diffuseSum = texture2D( colorTexture, vUv).rgb * weightSum;\
|
|
|
+ vec4 diffuseSum = texture2D( colorTexture, vUv) * weightSum;\
|
|
|
vec2 delta = direction * invSize * kernelRadius/float(MAX_RADIUS);\
|
|
|
vec2 uvOffset = delta;\
|
|
|
for( int i = 1; i <= MAX_RADIUS; i ++ ) {\
|
|
|
float w = gaussianPdf(uvOffset.x, kernelRadius);\
|
|
|
- vec3 sample1 = texture2D( colorTexture, vUv + uvOffset).rgb;\
|
|
|
- vec3 sample2 = texture2D( colorTexture, vUv - uvOffset).rgb;\
|
|
|
+ vec4 sample1 = texture2D( colorTexture, vUv + uvOffset);\
|
|
|
+ vec4 sample2 = texture2D( colorTexture, vUv - uvOffset);\
|
|
|
diffuseSum += ((sample1 + sample2) * w);\
|
|
|
weightSum += (2.0 * w);\
|
|
|
uvOffset += delta;\
|
|
|
}\
|
|
|
- gl_FragColor = vec4(diffuseSum/weightSum, 1.0);\
|
|
|
+ gl_FragColor = diffuseSum/weightSum;\
|
|
|
}"
|
|
|
} );
|
|
|
|