Repository navigation
engine-revival 0.7.0
The period BRender 1.3.2 build now draws perspective-correct textures in 8-bit colour.
- The two 256 x 256 perspective kernels ported line by line from
fti8pizp.asm:TriangleRender_ZPT_I8_D16_256(unlit) andTriangleRender_ZPTI_I8_D16_256(lit through the shade table), forward and backward, with the five scanline loops the assembly picks between. - The setup they call,
pfpsetup.asm'sTriangleSetup_ZPTandTriangleSetup_ZPTI: the perspective cheat test, the base texel, themaxuvnormalisation and the u, v and q parameters, one double operation per x87 operation, in order. Triangles flat enough in w go to the linear ZT and ZTI ports, as in 1998. - Checked against the 1998 assembly itself, assembled with MASM and linked in place of the port: the same bytes on all 27 brender-archival parity scenes and on 62,000 random triangles.
- Measured against BRender 1.4: coverage IoU 0.9983 or better, 92.6% to 97.9% of pixels with the same palette index, MAD at most 1.62. The steep plane, the lowest, scores the same without perspective, so that difference sits in the vertex data the two versions hand the rasteriser, not in these kernels. Two period runs give the same bytes.
Install: pip install "engine-revival @ git+https://github.com/HarperZ9/engine-revival@v0.7.0"