UNPKG

fabric

Version:

Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.

37 lines (35 loc) 1.11 kB
import type { TGrayscaleMode } from '../Grayscale'; export const fragmentSource: Record<TGrayscaleMode, string> = { average: ` precision highp float; uniform sampler2D uTexture; varying vec2 vTexCoord; void main() { vec4 color = texture2D(uTexture, vTexCoord); float average = (color.r + color.b + color.g) / 3.0; gl_FragColor = vec4(average, average, average, color.a); } `, lightness: ` precision highp float; uniform sampler2D uTexture; uniform int uMode; varying vec2 vTexCoord; void main() { vec4 col = texture2D(uTexture, vTexCoord); float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0; gl_FragColor = vec4(average, average, average, col.a); } `, luminosity: ` precision highp float; uniform sampler2D uTexture; uniform int uMode; varying vec2 vTexCoord; void main() { vec4 col = texture2D(uTexture, vTexCoord); float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b; gl_FragColor = vec4(average, average, average, col.a); } `, };