/shaders/fragment/curtains.fs

https://github.com/ajanthanm/cssfilterlab · F# · 43 lines · 31 code · 9 blank · 3 comment · 3 complexity · cb058437e25b2487d032df7f5e893190 MD5 · raw file

  1. /*
  2. * Copyright (c) 2012 Adobe Systems Incorporated. All rights reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. precision mediump float;
  17. // Uniforms passed in from CSS
  18. uniform float amount;
  19. // Varyings
  20. varying float v_lighting;
  21. varying float xpos;
  22. // Main
  23. void main()
  24. {
  25. float alpha = abs(xpos) <= (amount * 0.5) ? 0.0 : 1.0;
  26. /* Remove any perspective artifacts */
  27. if (amount == 1.0) alpha = 0.0;
  28. css_ColorMatrix = mat4(
  29. vec4(v_lighting, 0.0, 0.0, 0.0),
  30. vec4(0.0, v_lighting, 0.0, 0.0),
  31. vec4(0.0, 0.0, v_lighting, 0.0),
  32. vec4(0.0, 0.0, 0.0, alpha)
  33. );
  34. }