|
@@ -18,22 +18,22 @@ void main(void)
|
|
if(m_Display){
|
|
if(m_Display){
|
|
|
|
|
|
vec4 colorRes= getColor(m_Texture,texCoord);
|
|
vec4 colorRes= getColor(m_Texture,texCoord);
|
|
- float factor=(m_BlurWidth/float(m_NbSamples-1.0));
|
|
|
|
|
|
+ float factor=(m_BlurWidth/(float(m_NbSamples)-1.0));
|
|
float scale;
|
|
float scale;
|
|
vec2 texCoo=texCoord - m_LightPosition.xy;
|
|
vec2 texCoo=texCoord - m_LightPosition.xy;
|
|
vec2 scaledCoord;
|
|
vec2 scaledCoord;
|
|
vec4 res = vec4(0.0);
|
|
vec4 res = vec4(0.0);
|
|
for(int i=0; i<m_NbSamples; i++) {
|
|
for(int i=0; i<m_NbSamples; i++) {
|
|
- scale = i * factor + m_BlurStart ;
|
|
|
|
|
|
+ scale = float(i) * factor + m_BlurStart ;
|
|
scaledCoord=texCoo*scale + m_LightPosition.xy;
|
|
scaledCoord=texCoo*scale + m_LightPosition.xy;
|
|
if(fetchTextureSample(m_DepthTexture, scaledCoord,0).r==1.0){
|
|
if(fetchTextureSample(m_DepthTexture, scaledCoord,0).r==1.0){
|
|
res += fetchTextureSample(m_Texture,scaledCoord,0);
|
|
res += fetchTextureSample(m_Texture,scaledCoord,0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- res /= m_NbSamples;
|
|
|
|
|
|
+ res /= float(m_NbSamples);
|
|
|
|
|
|
//Blend the original color with the averaged pixels
|
|
//Blend the original color with the averaged pixels
|
|
- float mean = (res.r + res.g + res.b)/3;
|
|
|
|
|
|
+ float mean = (res.r + res.g + res.b)/3.0;
|
|
fragColor =mix(colorRes ,mix( colorRes, res, m_LightDensity),mean);
|
|
fragColor =mix(colorRes ,mix( colorRes, res, m_LightDensity),mean);
|
|
}else{
|
|
}else{
|
|
fragColor = getColor(m_Texture,texCoord);
|
|
fragColor = getColor(m_Texture,texCoord);
|