Hacker News new | ask | show | jobs
by fuckyeah 3563 days ago
Had the ps1 a dedicated chipset for 3d graphics or was it a pre-written software renderer library kind of thing? Was writting a software renderer (with perspective correct texture mapping and a zbuffer, amongst other things) out of question?
2 comments

The PS1 can be characterized as "half-software" because the geometry transforms are done through a CPU coprocessor, then sent to a mostly-2D GPU capable of filling in the gaps with affine transformations. This unusual pipeline accounts for why the rendering artifacts have a system-defining character to them - information about the geometry is lost after leaving the CPU and the GPU operates at screenspace precision, making the biggest polygons onscreen the most visibly inaccurate.
Nice to have a proper explanation of why PS1 games look so weird.
It's called affine swim, and is present in some PC games too. I first noticed it in Half Life when I was messing around with the software renderer.
Might be wrong but I thought Quake's software renderer does proper perspective texture mapping? (Original Half-Life is based on Quake)
Quake perspective corrects only every 16 pixels and does linear interpolation in between. This is because the correction requires an expensive FPU divide.

While the FPU is busy doing that, the CPU can do the linear interpolation. Once the CPU is done with the 16 pixels, the FPU has also completed the divide and the CPU can do the next 16 pixels, and so on.

Looks pretty decent but is not 100% accurate.

It was so long ago that I honestly don't remember. It might have been something like HL model viewer or Milkshape 3D rendering things using a different software renderer. I did some research and there is also an option to set affine texture mapping in the HL OpenGL renderer. HL works on Macs so I will test that stuff out soon
I think by the time HL shipped, the engine had been so hacked to bits that very little was left over from Q1. Heck, i think they even ported over various bits from Q2.
Yes, a software renderer would have been far too slow. The PS1 had a 33Mhz MIPS processor.