[Parity][render][S2][R] 渲染器:draw() 忽略 elevationY;shader 有光照魔数;palette rows 1-4 自造且无人调用(Utrans / noUniqueShift 未实现) #614
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
来源审计项:
render#14— [S2][R] 渲染器:draw()忽略elevationY;shader 有光照魔数;palette rows 1-4 自造且无人调用(Utrans / noUniqueShift 未实现)src/client/render/renderer.ts:1049-1084(draw只处理paletteRow,不读elevationY)与:1098-1136(只有drawQuad编码elevationY);:236(dynamicLight = lightSample.rgb * (0.22 + 0.78 * lightSample.a));:837-863(palette rows 1-4:冷、毒、暗金、冠军色的自造公式)renderer.draw(..., { elevationY: Math.max(0, frame.height - 16) })(L572、L694、L879、missile-overlay-renderer L507)以及墙体的elevationY: h - 40(L1108,墙走的是drawTileQuad → renderer.draw)都不会生效。monstats2.txt的 Utrans / Utrans(N) / Utrans(H) / noUniqueShift 决定暗金和冠军怪的调色板偏移(V-data #156 andariel Utrans 2、noUniqueShift 1)。0.22 + 0.78*a没有出处(?)。draw()也把elevationY传进顶点;去掉 0.22/0.78,按原版光照公式(docs/lighting 文档)处理;palette rows 改为加载原版的 colormap(Pal.pl2 / randtransform),按 Utrans 选行。Resolved in commit 56f4f7f: Elevation-aware vertex lighting in renderer.draw() via elevationY, authentic linear dynamic light curve in fragment shader, and authentic 1.13c PL2 colormap translations in setPalette.