UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

23 lines 2.33 kB
/* eslint-disable unicorn/prevent-abbreviations */ import { tgdCalcMapRange } from "./../math/index.js"; import { TgdColor } from "./color.js"; export function tgdColorMakeHueWheel({ steps = 128, fromDegree = 0, toDegree = 360, luminance = 0.5, saturation = 1, }) { if (steps < 2) return [TgdColor.fromHSL(tgdCalcMapRange(fromDegree, 0, 360, 0, 1, true), saturation, luminance)]; const colors = []; const factor = Math.abs(toDegree - fromDegree) / (360 * steps - 1); const shift = fromDegree / 360; for (let i = 0; i < steps; i++) { const hue = shift + i * factor; const color = TgdColor.fromHSL(hue, saturation, luminance); colors.push(color); } return colors; } /** * This function can be useful in `Array.map()` functions. */ export function tgdColorToString(color) { return color.toString(); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29sb3IvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUVsQyxNQUFNLFVBQVUsb0JBQW9CLENBQUMsRUFDakMsS0FBSyxHQUFHLEdBQUcsRUFDWCxVQUFVLEdBQUcsQ0FBQyxFQUNkLFFBQVEsR0FBRyxHQUFHLEVBQ2QsU0FBUyxHQUFHLEdBQUcsRUFDZixVQUFVLEdBQUcsQ0FBQyxHQU9oQjtJQUNFLElBQUksS0FBSyxHQUFHLENBQUM7UUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQTtJQUVoSCxNQUFNLE1BQU0sR0FBZSxFQUFFLENBQUE7SUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sS0FBSyxHQUFHLFVBQVUsR0FBRyxHQUFHLENBQUE7SUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdCLE1BQU0sR0FBRyxHQUFHLEtBQUssR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFBO1FBQzlCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUMxRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3RCLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQTtBQUNqQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBZTtJQUM1QyxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtBQUMzQixDQUFDIn0=