Lut Generator 0.15 !!hot!! -
function sinusoidalRipple() // organic wave pattern for (let i = 0; i < LUT_SIZE; i++) for (let j = 0; j < LUT_SIZE; j++) const x = j / (LUT_SIZE-1) * Math.PI * 2; const y = i / (LUT_SIZE-1) * Math.PI * 2; let val = (Math.sin(x * 1.8) * Math.cos(y * 1.8) + 1) / 2; val = clamp(val, 0, 1); lut[i][j] = val;
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <title>LUT Generator 0.15 | Programmable Look-Up Table Canvas</title> <style> * box-sizing: border-box; user-select: none; /* cleaner UI interaction, but text select remains for code if needed */ lut generator 0.15
// update canvas from current LUT data (draw color-mapped grid) function renderLUT() if (!ctx) return; for (let row = 0; row < LUT_SIZE; row++) for (let col = 0; col < LUT_SIZE; col++) const intensity = lut[row][col]; // Color palette: from deep purple/blue (0) to bright amber/white (1) // Enhanced aesthetic: start (0) = #0f172a -> mid (0.5) = #efb36e -> high (1) = #faf0ca const r = Math.floor( 35 + intensity * 220 ); const g = Math.floor( 40 + intensity * 180 ); const b = Math.floor( 80 + intensity * 140 ); const fillColor = `rgb($r, $g, $b)`; ctx.fillStyle = fillColor; ctx.fillRect(col * CELL_SIZE, row * CELL_SIZE, CELL_SIZE, CELL_SIZE); function sinusoidalRipple() // organic wave pattern for (let
: Version 0.15 introduced improved spike filtering for data generated by WheelCheck, ensuring the final LUT file provides smooth, consistent feedback rather than erratic jolts. How to Generate Your Custom LUT i++) for (let j = 0
renderLUT();