Comment by buffportion
2 days ago
Besides differences in texture mapping, the way GPUs render triangles is quite different to techniques commonly used in the old days. No one was computing barycentric coordinates and checking if every pixel was inside a triangle - it’s too slow to do that on a single thread. At low resolutions you get very different visual results because a GPU will not render triangles that do not cover the center of a pixel without anti-aliasing.
Precise and consistent fill conventions don't need barycentric coordinates, it simply needs some care in rasterization. Chris Hecker's 1985 texture mapping series in Game Developer covered how to do this properly in a traditional software scanline rasterizer. The necessary prestepping isn't expensive.
[dead]