破色(brokenColour.ts,工具包在 brokenColourKit.ts)
媒介,从物理上说。 油彩直接从管里挤出来,画在铅白打底的亚麻布上,一次画完,在户外。一支扁平猪鬃笔,蘸满颜料,只落一次:它钝钝地落下,沿一侧推起一道颜料脊(更亮),在另一侧留下一道沟(更暗),抬起的地方拖得很薄;大笔触会散成干枯的鬃毛尾巴。颜色不会被调成物体本身的颜色:两三种未经调和的颜色并排放着,由眼睛去混合。亚麻布的织纹(weave,一张带种子的平纹贴图)最后以正片叠底叠上去,在薄薄的铺底和空隙里露出来。
笔触。 短小、分开、不透明的点戳(brush 种类 0)。它们的颜色是从一个解析色场(field(u, v):把母题表示为平滑的颜色、区域、笔触方向和点戳大小)里采样来的,然后被打破:色相 +-0.03,明度 +-0.07,饱和度提高。补色点缀按规则放进去,从不均匀撒开:橙色/玫瑰色放进蓝色阴影,紫罗兰/丁香紫放进金色。方向顺着面走:水面平而长,天空富于变化(一小块一小块地往右上、往右下或水平排,沿着云带躺下,绕着太阳转过一部分),城镇低而平,船身顺着船身,人物直立。桅杆、桨、定位线:用勾线笔(rigger)一拉而成(种类 1)。铺底:一道薄薄擦上去的、鬃毛彼此分开的笔触(种类 2)。
边缘。 任何地方都没有轮廓线。一个形体在它的点戳停下的地方结束。船是映在亮点戳上的暗点戳;边缘只在向阳的边沿上找得到,在别处都消失在雾霭里。太阳也是点戳:奶黄色的核心横七竖八地铺,周围一圈橙色,橙色和粉色打破它的边缘,化入光晕。画成一个干净的圆,就是没过手艺及格线。
笔触顺序。 (1) 薄薄的暖色底色(imprimatura),擦上去,方向交替;(2) 用稀释的群青定位;(3) 用大点戳铺大色块,颜色取一大片邻域的平均(船用它们自己的暗色铺出来);(4) 各处的破色点戳,从天空到水面,沿一个平滑的顺序场推进(永远不要逐格随机:那会留下竖直的接缝);(5) 船、桅杆、城镇、太阳沿各自的形体重新强调;(6) 点缀;(7) 倒影画成水平的色条,先画太阳的光路,再画船;(8) 桨和浪尖上最后的闪光。
调色板。 高调。铅白、镉橙和镉红、铬黄、玫瑰茜红、钴紫、群青、翠绿(viridian)。没有黑色:最暗的暗部是群青 + 玫瑰色。
光。 一个低低的太阳在主体后面;逆光剪影,向阳一侧带暖色边光;倒影向下拉长并碎成色条(每一道涟漪映出的是另一片天空)。
不是它的邻居。 不是铅笔水彩(ranunculus):没有任何东西是透明的,没有线,也没有漏出轮廓的淡彩;颜色是放上去的,不是泼洒上去的。也不是那种由暗到亮塑造形体的厚涂油画样张:这里形体来自冷暖,而不是明度。
运动语法。 一张自己把自己画出来的静帧(staged):每个点戳都沿着它的长度在 2-4 帧内拉出来,前后两笔紧接着(下一笔在上一笔结束前一帧就开始),顺序场让画面以不规则的前沿推进,永远不是逐行扫描。已完成的前缀被缓存;帧的顺序改变不了像素。
付过学费的坑。 smoothstep(t, 0.3t, x) 在 t = 0 时会除以零,画出一整列通高的柱子:要防住。按小块随机决定绘制顺序,会在任意两个小块相接的地方留下竖直接缝。