# 低多边形（`lowPoly.ts`）

**媒介，从物理上说。** 没有，这是有意为之：一个被**建模**成三角网格的场景，用手算经一台针孔相机**投影**（一次平移、一次俯仰旋转、一次除法：没有 3D 引擎），**平面着色**（每个三角形一种颜色，由它的法线对着一个光源、再加冷色的天空环境光决定，并按距离朝黎明色加雾），再按**画家排序**由远到近绘制。

**笔触。** 面片：一个硬边三角形。完成的画面里没有线（一根同色细线只用来封住抗锯齿接缝），没有渐变，没有纹理。三角剖分**就是**纹理，所以网格按透视友好的方式搭建（列随距离变宽，行增长约 12%）并加抖动，让面片在屏幕上保持大致一样大。

**网格。** 一个高度场：湖盆（截平到水面，所以水就是同一张网格上的面）、湖岸、一道低矮的前山、一道高大的后山，后山上有个缺口让太阳刚好露出来，高处朝上的面上有雪。松树：一根树干加三层六边形圆锥，成片分布，中间留着空地。一条用 13 个截面放样出来的独木舟：外壳按朝外的法线剔除，内壁按朝内的法线剔除，有横梁，有一支桨。天空是 2D 面片（一张抖动的网格，按高度和到太阳的距离上色），从下方照亮的多面体云，一团多面体的太阳光晕。

**倒影。** 同样的网格在水面里镜像，越靠近水面越暗，只在能看见水的地方画（用同一遍画家算法做出的蒙版：水为白，实体面擦除），然后被水平的波纹切口打断；太阳下面是一条由短划构成的粼光带。

**笔触顺序。** 空的视口（深色网格）。线框，一条边一条边地画：地形从远处的山脉扫到近处的湖岸，然后是树，然后是独木舟。面完全按画家顺序着色填入：天空从上到下，然后由远到近。水的面片由远到近。倒影由远到近。波纹切口和粼光最后。

**调色板。** 黎明：靛蓝 `#262c5c` 到紫罗兰 `#5b4f8a` 到玫瑰 `#d98f98` 到桃色 `#f6bf92`；朝阳的坡面是桃玫色，其余是蓝紫色；云杉 `#23463b`；独木舟红 `#b3392b`。

**不是它的邻居。** 其他每个样张都是一只手在某个表面上留下的笔触；这个是几何。

**运动语法。** 建模师的视口：线先铺下，然后被面盖住；没有东西滑动。如果镜头真要动，每帧重新投影（永远不要缩放位图），并保持面片是平的。
