three-stdlib
Version: 
stand-alone library of threejs examples
50 lines (39 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const BrightnessContrastShader = {
  uniforms: {
    tDiffuse: { value: null },
    brightness: { value: 0 },
    contrast: { value: 0 }
  },
  vertexShader: (
    /* glsl */
    `
    varying vec2 vUv;
    void main() {
    	vUv = uv;
    	gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
    }
  `
  ),
  fragmentShader: (
    /* glsl */
    `
    uniform sampler2D tDiffuse;
    uniform float brightness;
    uniform float contrast;
    varying vec2 vUv;
    void main() {
    	gl_FragColor = texture2D( tDiffuse, vUv );
    	gl_FragColor.rgb += brightness;
    	if (contrast > 0.0) {
    		gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) / (1.0 - contrast) + 0.5;
    	} else {
    		gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) * (1.0 + contrast) + 0.5;
    	}
    }
  `
  )
};
exports.BrightnessContrastShader = BrightnessContrastShader;
//# sourceMappingURL=BrightnessContrastShader.cjs.map