Advertisement
Guest User

Untitled

a guest
Nov 1st, 2013
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. // Overlay (Proper)
  2. // Shviller
  3. // PS 2.0
  4. // A PROPER overlay blend.
  5.  
  6. // Foreground texture
  7. texture ForegroundTexture;
  8.  
  9. // Background texture
  10. texture BackgroundTexture;
  11.  
  12. // Foreground sampler
  13. sampler2D foreground = sampler_state {
  14. Texture = (ForegroundTexture);
  15. MinFilter = Point;
  16. MagFilter = Point;
  17. MipFilter = Point;
  18. };
  19.  
  20. // OriginalTexture sampler
  21. sampler2D background = sampler_state {
  22. Texture = (BackgroundTexture);
  23. MinFilter = Point;
  24. MagFilter = Point;
  25. MipFilter = Point;
  26. };
  27.  
  28. // Effect function
  29. float4 EffectProcess( float2 Tex : TEXCOORD0 ) : COLOR0
  30. {
  31. float4 front = tex2D(foreground, Tex.xy);
  32. float4 back = tex2D(background, Tex.xy);
  33.  
  34. float4 output = front;
  35. if(front.a != 0)
  36. {
  37. output.r = back.r < 0.5 ? 2*back.r*front.r : 2*(front.r + back.r*front.a - back.r*front.r) - front.a;
  38. output.g = back.g < 0.5 ? 2*back.g*front.g : 2*(front.g + back.g*front.a - back.g*front.g) - front.a;
  39. output.b = back.b < 0.5 ? 2*back.b*front.b : 2*(front.b + back.b*front.a - back.b*front.b) - front.a;
  40. }
  41. return output;
  42. }
  43.  
  44. // ConstructEffect
  45. technique ConstructEffect
  46. {
  47. pass p0
  48. {
  49. VertexShader = null;
  50. PixelShader = compile ps_2_0 EffectProcess();
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement