I'll just post this bit of info then:<br><br>I've removed the 'perspective correctness' from D_DrawSpans8, and made it 100% fixed point. Some background info: This function is passed a 'span' struct, wich contains only an u/v and a length. This struct represents a single horizontal line of a polygon on screen. This is weird: u/v are normally used to represent coordinates in a texture map, but in Quake, they are SCREEN coordinates. So, this struct actually contains only enough info to know where to draw a span, and how long it should be. U and V, in turn, are called S and T in Quake. Keep this in mind, it makes life easier.

<br><br>So, the span struct doesn't contain enough info. 'Enough info' is therefore obtained from a globally declared set of vars that form a matrix, wich is used to transform 2D screen coordinates into a position on a texture map. These vars are floats, so I convert them to fixed point each time they change. This is at most once per polygon, but usually not that often (since multiple polygons use the same texture mapping).<br><br>If anyone wants to test the new code, let me know. I have no idea how much speed I have gained.

<br><br>- Jacco.