UNPKG

fabric

Version:

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

45 lines (42 loc) 1.23 kB
import type { TBlendImageMode } from '../BlendImage'; export const fragmentSource: Record<TBlendImageMode, string> = { multiply: ` precision highp float; uniform sampler2D uTexture; uniform sampler2D uImage; uniform vec4 uColor; varying vec2 vTexCoord; varying vec2 vTexCoord2; void main() { vec4 color = texture2D(uTexture, vTexCoord); vec4 color2 = texture2D(uImage, vTexCoord2); color.rgba *= color2.rgba; gl_FragColor = color; } `, mask: ` precision highp float; uniform sampler2D uTexture; uniform sampler2D uImage; uniform vec4 uColor; varying vec2 vTexCoord; varying vec2 vTexCoord2; void main() { vec4 color = texture2D(uTexture, vTexCoord); vec4 color2 = texture2D(uImage, vTexCoord2); color.a = color2.a; gl_FragColor = color; } `, } as const; export const vertexSource = ` attribute vec2 aPosition; varying vec2 vTexCoord; varying vec2 vTexCoord2; uniform mat3 uTransformMatrix; void main() { vTexCoord = aPosition; vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy; gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0); } ` as const;