Guest User

Untitled

a guest
Sep 25th, 2012
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.71 KB | None | 0 0
  1. #version 150
  2.  
  3. precision highp float;
  4.  
  5. uniform sampler2D texture0;
  6. uniform sampler2DShadow shadowMap;
  7. uniform vec2 pixelOffset;
  8.  
  9. in vec2 texCoord;
  10. in vec4 shadowCoord;
  11.  
  12. float pcf(vec2 offset){
  13.     return textureProj(shadowMap,
  14.                        shadowCoord+0.005+vec4(offset.x*pixelOffset.x*shadowCoord.w,
  15.                                               offset.y*pixelOffset.y*shadowCoord.w,
  16.                                               0.0,
  17.                                               0.0));
  18. }
  19.  
  20. void main(){
  21.     float shadow = 1.0;
  22.    
  23.     if(shadowCoord.w > 0.0){
  24.         float x, y;
  25.        
  26.         for(y = -1.5; y <= 1.5; y += 1.0){
  27.             for(x = -1.5; x <= 1.5; x += 1.0){
  28.                 shadow += pcf(vec2(x, y));
  29.             }
  30.         }
  31.  
  32.         shadow /= 16.0;
  33.     }
  34.  
  35.     gl_FragColor = shadow*texture(texture0, texCoord);
  36. }
Advertisement
Add Comment
Please, Sign In to add comment