Does anyone know what rasterization algorithm the PSX uses? I've tried looking around, but didn't really find much. I read that seams and gaps are no uncommon, and that when you draw a 4-point polygon rectangle, it will be rasterized as 2 3-point polygons and the bottom-right edge will not be rasterized.
It'd be great to know what exactly the GPU is doing that causes this, so I can understand the problem and work around it when needed.
What rasterization algorithm does the PSX use?
-
- What is PSXDEV?
- Posts: 4
- Joined: Aug 04, 2014
Yes, the PSX doesn't render quads, even though people still like to call them that, but rather triangle strips with 4 vertices.
Other than that, the PSX doesn't render the rightmost pixel or bottom row of the triangle, and the way the triangle is rendered (in one or two passes, and the direction of each pass, i.e. top->bottom, bottom->top) depends on the shape of the left edge of the triangle, so with a rotating triangle, it will change depending on the current rotation angle. Not exactly easy to adapt for in realtime.
Other than that, the PSX doesn't render the rightmost pixel or bottom row of the triangle, and the way the triangle is rendered (in one or two passes, and the direction of each pass, i.e. top->bottom, bottom->top) depends on the shape of the left edge of the triangle, so with a rotating triangle, it will change depending on the current rotation angle. Not exactly easy to adapt for in realtime.
-
- What is PSXDEV?
- Posts: 4
- Joined: Aug 04, 2014
Thanks! Out of curiosity, do you know if the PSX is using a Digital Differential Analyzer (DDA), or some other algorithm?
I don't know what the PSX does in hardware, but I think someone have decaped a PSX GPU and taken photos of the die, so we might find out sooner or later. But whatever algorithm it uses, it produce a "perfect" result. That is, you either need to compute the x coordinates using divides each row, or use fixed point numbers with a large fractional part, to emulate the behavior.
Who is online
Users browsing this forum: No registered users and 1 guest