MadDog posted on Jul 12 2006 at 05:46 PM said:
PS1 has 3D HW + fixed point matrix mul vector HW.
Believe it or not, the PS1 only has a 2D gpu. The gpu itself works kinda like a 3d one, in that you feed vertices to it and then it draws triangles based on the vertices, but the coordinate data for the vertices is 2D only. The 3D games on PS1 accomplish 3D via software keeping track of 3D vertices, and then translating the vertices to 2D so the gpu can understand it. If you've ever payed a LOT of attention to 3d games on the ps1, you'll notice that textures on walls will get jagged/distorted when you look at the wall sideways, but it looks fine when you look at the wall straight on. That's because the ps1 can't do perspective correction (missing Z coordinate), and thus, all textures on the ps1 are drawn isometric.
Another way to tell this is the fact that triangles can't intersect each other. In 3d, sometimes you get a triangle that's halfway in front of another one, and halfway behind it (so the triangle is actually going through the surface other one). On the ps1, this situation is impossible because the ps1 doesn't keep track of Z, so a triangle can be only either completely in front, or completely behind another triangle at any given time. If you play devil dice, and move the character so its body is going through a dice, you notice that as it stands there breathing, entire triangles will flash on and off as they go through the dice. So I'm assuming it's the software's responsibility to do its own Z ordering and send the vertices in the correct order.
So yeah, 3d games, but 2d console. Isn't that weird?
I don't know about the fixed point matrix multiplication vector thing, but I definately know about the 2d.
This might be why it's easier to do ps1 emulation, because the graphics emulation only needs to be 2d.
Sorry if I got off track there, I found the topic interesting and researched it before, and I felt like explaining it.
About the video, I'm not sure what it's supposed to mean, but it's definately not what I was expecting.