GammaCorrectionShader.js 658 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /**
  2. * Gamma Correction Shader
  3. * http://en.wikipedia.org/wiki/gamma_correction
  4. */
  5. var GammaCorrectionShader = {
  6. uniforms: {
  7. "tDiffuse": { value: null }
  8. },
  9. vertexShader: [
  10. "varying vec2 vUv;",
  11. "void main() {",
  12. " vUv = uv;",
  13. " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
  14. "}"
  15. ].join( "\n" ),
  16. fragmentShader: [
  17. "uniform sampler2D tDiffuse;",
  18. "varying vec2 vUv;",
  19. "void main() {",
  20. " vec4 tex = texture2D( tDiffuse, vUv );",
  21. " gl_FragColor = LinearTosRGB( tex );", // optional: LinearToGamma( tex, float( GAMMA_FACTOR ) );
  22. "}"
  23. ].join( "\n" )
  24. };
  25. export { GammaCorrectionShader };