余弦调色板 a+b*cos(6.28*(c*t+d))
vec3 palette(float t) { return a + b * cos(2*PI * (c * t + d)); }| 参数 | 作用 | 类比 |
|---|---|---|
a(bias) | 颜色中心点 | 往亮还是往暗走 |
b(amplitude) | 振幅 = 变化范围 | 颜色浓淡跨度 |
c(frequency) | 频率 = t 从 0→1 时循环几圈 | 颜色重复几次 |
d(phase) | 相位 = 三通道的错位偏移 | 决定"先出现什么色" |
- Classic IQ—
d=(0, 0.33, 0.67)→ 彩虹色,最经典的默认值 - Warm Sunset—
d=(0, 0.10, 0.20)→ 暖色为主,三通道相位挤一起 - Cool Ocean—
d=(0, 0.20, 0.50)→ 冷蓝绿 - Neon Pop—
c=(2,1,0)→ R 循环两次、B 不循环,霓虹感 - Pastel Dream—
a=0.8, b=0.2→ 高 bias 低振幅,马卡龙色 - High Contrast—
c=3→ 同样的 t 里颜色快速变三圈 - Fire Lava—
a=(0.6, 0.3, 0.2)不对称 bias → 偏红橙 - Mystic Purple—
c=(1,1,0.5)不对称频率 → B 循环更慢,紫色调
三个最常见的调节套路
- 想偏暖/偏冷:让
d的三个分量挤紧(如0, 0.1, 0.2)→ 三通道同步推进,整体偏单色调;拉远(如0, 0.33, 0.67)→ 彩虹色 - 想要柔和/鲜艳:调
a和b的比例。a高b低 → 粉彩淡色;a=0.5 b=0.5→ 满饱和度 - 想要循环加快/减慢:调
c。c=1一圈;c=2两圈(颜色重复一遍);c不对称(如2,1,0)→ 某个通道不动 → 更"怪"更艺
// 5. 背景用余弦调色板做渐变(第 4 章详解)
vec3 bg = 0.5 + 0.5 * cos(iTime + uv.xyx + vec3(0.0, 2.0, 4.0));
