VOGONS

Common searches


First post, by Exploit

User metadata
Rank Newbie
Rank
Newbie

A Z-buffer requires a lot of memory space and, as a brute force algorithm, would have been expensive given both the given bandwidth of the ISA BUS to the graphics card and the memory restrictions.
Which is why most old DOS games probably first reduced the number of polygons with some clever algorithms (BPS tree, raycasting, depth sort, etc.).
But were there any games that didn't do that and implemented a Z-buffer in software?

My thoughts on this would be:
I guess because the graphics cards were practically just pure output devices and couldn't do anything themselves and the ISA bus had a significant bandwidth limit, the Z buffer would have been stored in the system RAM and only then would the finished rendered image be pushed into the VRAM. Or would Mode-X or Mode-Y have benefited here, apart from the fact that it would have allowed double buffering?
With the help of DOS extenders and protected mode, enough memory for a frame buffer and a 16 Bit Z buffer in the system RAM could have been allocated.

But were the CPUs of that time, I was thinking in particular of a 486DX with 33 MHz, fast enough for this or did this require at least a Pentium with over 100 MHz or even 200 MHz?
Branches would have been expensive if the 486's 5-stage pipeline had to be flushed. Parallel processing of several pixels at the same time would not have been possible either. So you would have had to calculate all 320x200 pixels one after the other or at least severely limit the viewport window.

Has a software Z-buffer solution been implemented in any DOS games and if so, which one(s) were they?

Reply 2 of 3, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++
Exploit wrote on 2024-03-24, 22:56:

So you would have had to calculate all 320x200 pixels one after the other or at least severely limit the viewport window.

Hmmm there are a few untextured kinda isometric looking 486 3D titles that have a small viewport.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 3 of 3, by Trashbytes

User metadata
Rank Oldbie
Rank
Oldbie
leileilol wrote on 2024-03-25, 02:27:

Quake's software renderer keeps a z-buffer (d_pzbuffer) and uses that to render models, sprites and particles with

Likely why Quake really wants a CPU with a fast FPU aside from geometry calcs and also why z sorting was preferred over zbuffer till 3D acceleration came along.