第 14 章:BORD 区段
Directory Tag: BORD · 作用范围: 全局 · 必须性: 可选 · Directory Codec: RAW8
BORD(Border Data)是用于描边、轮廓强化或选择高亮的派生缓存。它描述哪些单位边缘可被渲染器强调,不添加或删除任何体素。
14.1 Payload Layout
Payload 由 48 字节 Header 和 edgeCount 个 8 字节 Edge Record 组成。
Header:uint16 version=1、uint16 headerSize=48、uint32 edgeCount、uint32 edgeSize=8、uint32 flags、uint8[32] sourceHash。
Edge Record:
| Offset | Size | Type | Field |
|---|---|---|---|
| 0 | 1 | uint8 | x |
| 1 | 1 | uint8 | y |
| 2 | 1 | uint8 | z |
| 3 | 1 | uint8 | axis:0=X、1=Y、2=Z |
| 4 | 1 | uint8 | style:0=outer、1=crease、2=selection |
| 5 | 1 | uint8 | paletteIndex,0 表示使用渲染器默认颜色 |
| 6 | 2 | uint16 | 保留,零 |
坐标表示资产全局网格内一条单位边的最小端点。axis 决定边的另一端点。条目必须按 (z,y,x,axis,style,paletteIndex) 升序,以保证确定性。
14.2 生成与使用
外轮廓边可由相邻可见面夹角或体素邻接关系生成;折痕边由不同法线面相交生成。具体审美阈值是生成器策略,但生成结果必须关联当前 Source Hash。读取器可完全忽略 BORD,或以其作为描边提示;BORD 不得被用来判断某体素是否存在。
14.3 验证
验证器必须检查 Source Hash、坐标不超过 META 网格、axis/style 取值、非零 paletteIndex 已在 PAL0 定义、排序与保留字段。任何问题仅使 BORD 失效,读取器应忽略或重建它。
本章总结
BORD 把视觉描边从权威体素数据中分离出来,使不同渲染器可选择不同表现而不改变资产本身。