3 ms·
It appears that the game on Windows (correction MSDOS) used raw frame buffer not Direct 3D. The entire polygon rendering appears to be in x86 assembler containe
by djmips 5y ago
It appears that the game on Windows (correction MSDOS) used raw frame buffer not Direct 3D. The entire polygon rendering appears to be in x86 assembler contained in 3DPOLY.ASM with the triangle setup in DRAWPOLY.ASM
However there is also a code path for drawing using a proprietary ATI CIF hardware accelerated 3D API in winati.c - support for RAGE cards only.
I'd never seen the proprietary ATI 3D calls before.
I dug up some more info here:
https://drew1440.com/tag/ati-cif/ https://drew1440.com/tag/ati-cif/
- saiya-jin 5y agoBack in those days, there was 3dfx and ATI was just starting. Direct3D had abysmal reputation and only for very unstable Windows 95, I don't think 3dfx worked with it very well. Plus as you wrote it was DOS game, nothing like that there, just direct programming for specific cards. Boy some good vertigo memories come with that game.
- kingcharles 5y agoIt came out just as the changeover started to happen from DOS-based software 3D engines to Windows DirectX 3D engines. I worked on this game at exactly the same time: https://en.wikipedia.org/wiki/Abomination:_The_Nemesis_Project https://en.wikipedia.org/wiki/Abomination:_The_Nemesis_Proje... That game was supposed to be 2D, but was switched to the characters being 3D, so I brought my whole DOS software 3D engine and ported it to DirectX over the course of 2 weeks. I'm going to dig into that drawpoly.asm! There was a lot of competition in the early->mid 90s for poly blitting. I would say I had one of the very top ones. I was doing demo coding before I became a commercial video game developer. LOL.. reading DRAWPOLY now... ; Draw flat shaded poly ; IN: EDI->polygon data ; OUT: Polygon appears as if by magic in buffer The real blit code is in 3DPOLY.ASM. Doesn't look like it does perspective-correction on the texture-mapping, which isn't unusual for the time. I don't remember the PS1 well enough, did it do correction in hardware?
- royjacobs 5y agoNo, it didn't. It also didn't do any subpixel correction. Instead, there was a lot of tesselation happening to try and mask the texture warping somewhat but it was never really all that successful.
- djmips 5y agoSo it seems they took the easy road and just made a polygon renderer that was just good enough, or as good as the PS1.
- royjacobs 5y agoYes, this would have had the additional benefit that it was going to be pretty performant since having to do z-buffered perspective correct texture mapping wasn't cheap on PC's at the time and the game was already set up to not require any of that.
- djmips 5y agoYes, I mentioned that the triangle setup appears to be in DRAWPOLY.ASM
- djmips 5y agoYeah, I did some software poly stuff too but late eighties and it didn't have texture mapping. It was used in some sports games.