UNPKG

@luma.gl/shadertools

Version:

Shader module system for luma.gl

35 lines (27 loc) 812 B
/** @typedef {import('../../types').ShaderPass} ShaderPass */ const fs = `\ uniform float amount; vec4 sepia_filterColor(vec4 color) { float r = color.r; float g = color.g; float b = color.b; color.r = min(1.0, (r * (1.0 - (0.607 * amount))) + (g * (0.769 * amount)) + (b * (0.189 * amount))); color.g = min(1.0, (r * 0.349 * amount) + (g * (1.0 - (0.314 * amount))) + (b * 0.168 * amount)); color.b = min(1.0, (r * 0.272 * amount) + (g * 0.534 * amount) + (b * (1.0 - (0.869 * amount)))); return color; } vec4 sepia_filterColor(vec4 color, vec2 texSize, vec2 texCoord) { return sepia_filterColor(color); } `; const uniforms = { amount: {value: 0.5, min: 0, max: 1} }; /** @type {ShaderPass} */ export const sepia = { name: 'sepia', uniforms, fs, passes: [{filter: true}] };