UNPKG

three-stdlib

Version:

stand-alone library of threejs examples

44 lines (43 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const THREE = require("three"); const _hsl = {}; const ColorConverter = { setHSV(color, h, s, v) { h = THREE.MathUtils.euclideanModulo(h, 1); s = THREE.MathUtils.clamp(s, 0, 1); v = THREE.MathUtils.clamp(v, 0, 1); return color.setHSL(h, s * v / ((h = (2 - s) * v) < 1 ? h : 2 - h), h * 0.5); }, getHSV(color, target) { color.getHSL(_hsl); _hsl.s *= _hsl.l < 0.5 ? _hsl.l : 1 - _hsl.l; target.h = _hsl.h; target.s = 2 * _hsl.s / (_hsl.l + _hsl.s); target.v = _hsl.l + _hsl.s; return target; }, // where c, m, y, k is between 0 and 1 setCMYK(color, c, m, y, k) { const r = (1 - c) * (1 - k); const g = (1 - m) * (1 - k); const b = (1 - y) * (1 - k); return color.setRGB(r, g, b); }, getCMYK(color, target) { const r = color.r; const g = color.g; const b = color.b; const k = 1 - Math.max(r, g, b); const c = (1 - r - k) / (1 - k); const m = (1 - g - k) / (1 - k); const y = (1 - b - k) / (1 - k); target.c = c; target.m = m; target.y = y; target.k = k; return target; } }; exports.ColorConverter = ColorConverter; //# sourceMappingURL=ColorConverter.cjs.map