three-stdlib
Version:
stand-alone library of threejs examples
34 lines (33 loc) • 919 B
JavaScript
const BrightnessContrastShader = {
uniforms: {
tDiffuse: { value: null },
brightness: { value: 0 },
contrast: { value: 0 }
},
vertexShader: [
"varying vec2 vUv;",
"void main() {",
" vUv = uv;",
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
"}"
].join("\n"),
fragmentShader: [
"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;",
" }",
"}"
].join("\n")
};
export {
BrightnessContrastShader
};
//# sourceMappingURL=BrightnessContrastShader.js.map