f3DTo2DF proc uses esi edi X:real4,Y:real4,Z:real4,F:real4,intScreenW:dword,intScreenH:dword
LOCAL xres,yes:dword
shr intScreenW,1
shr intScreenH,1
;X:= ((X/Z) * F) + intScreenW/2
;Y:= ((Y/Z) * F) + intScreenH/2
fld X
fdiv Z
fmul F
fiadd intScreenW
fld Y
fdiv Z
fmul F
fiadd intScreenH
ret
f3DTo2DF endp
About 35 milions fill rate each second. I dont know is it fast enough or not. But on a demo I saw, at least you need 60 millions fill rate each second to gain a good software renderer.