UNPKG

three-shaders

Version:

three-shaders - a library of shaders included with Three.js library

56 lines (33 loc) 740 B
/** * @author alteredq / http://alteredqualia.com/ * * Colorify shader */ var THREE = require('three'); function ColorifyShader() { return { uniforms: { tDiffuse: { value: null }, color: { value: new THREE.Color( 0xffffff ) } }, vertexShader: ` varying vec2 vUv; void main() { vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); } `, fragmentShader: ` uniform vec3 color; uniform sampler2D tDiffuse; varying vec2 vUv; void main() { vec4 texel = texture2D( tDiffuse, vUv ); vec3 luma = vec3( 0.299, 0.587, 0.114 ); float v = dot( texel.xyz, luma ); gl_FragColor = vec4( v * color, texel.w ); } ` } }; module.exports = ColorifyShader;