作者这里。基本观点:TrueType字型包含了一套给字型加样(hinting)指令集(FDEF,CALL,RS,WS,SCFS,MUL,DIV,IF/ELSE),这些指令是为精确到像素的字形渲染而设计的。结果,它足够强大的,适用于3D光栅化。
架构和CPU/GPU分离起来:
- JavaScript = CPU:处理游戏状态、输入、计时 - 字型加样虚拟机 = GPU:计算所有3D墙壁几何(光栅化、距离计算、墙壁高度投影)
通信通过改变字型的方式进行 - JS将玩家位置/角度写入变量轴、字型的加样代码运行,然后JS读取从字形坐标计算的墙壁几何
该字型尺寸为6,580字节,含有13个FDEF函数。还有一个小型编译器(词法分析器、语法分析器、代码生成器),该编译器用于从自定义DSL生成TT字节码。写纯文本的加样指令很有教育意义。
评论 (0)