three
Version:
JavaScript 3D library
49 lines (29 loc) • 789 B
JavaScript
/**
* Color correction
*/
THREE.ColorCorrectionShader = {
uniforms: {
'tDiffuse': { value: null },
'powRGB': { value: new THREE.Vector3( 2, 2, 2 ) },
'mulRGB': { value: new THREE.Vector3( 1, 1, 1 ) },
'addRGB': { value: new THREE.Vector3( 0, 0, 0 ) }
},
vertexShader: [
'varying vec2 vUv;',
'void main() {',
' vUv = uv;',
' gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',
'}'
].join( '\n' ),
fragmentShader: [
'uniform sampler2D tDiffuse;',
'uniform vec3 powRGB;',
'uniform vec3 mulRGB;',
'uniform vec3 addRGB;',
'varying vec2 vUv;',
'void main() {',
' gl_FragColor = texture2D( tDiffuse, vUv );',
' gl_FragColor.rgb = mulRGB * pow( ( gl_FragColor.rgb + addRGB ), powRGB );',
'}'
].join( '\n' )
};