Hello, I have some questions about the the Sega Saturn's rending capabilities. Having seen GameHut make a video talking about how Sonic R produced its fade effect, I suspect someone here might know those capabilities.
My biggest question is about UVing a texture on the Saturn.
I understand that the 3DO had no proper capability to adjust the UV's on a polygon, because it operated with quads and actually performed some vector transformations to a rectangle. And I understand that the Saturn works in a similar fashion of using quads. I'm wondering if it faced the same limitations, and/or if it had any additional tricks, and altogether how it managed to get around or work with these limitations.
Just to make sure we're all on the same page here, this is the process I am talking about.
When I create a polygonal object on a modern system, I can freely move around how a texture appears on a polygon. I can pan the texture, scale it, and stretch it between the vertices; I can have a wall that repeats a texture a dozen times, or have only a tiny portion of a texture drawn on a surface.
But with quads (at least on the 3DO, from what I've heard) the texture image is effectively stuck with each corner of the image in each corner of the quad. It can't manipulate the texture coordinates, it can't pan or scale that texture so that part of the image is visible nor have the image repeat. If I want a wall that repeats the texture a dozen times I have to actually have a dozen quads drawn. The corners of the image always match the corners of the quad.
Is the Saturn constrained in the same manner?
If so, I'm a bit curious how games on the system worked with or got around this limitation. At face value, you'd have to cut up your texture into lots of tiny textures, or rely heavily on solid colors. But what if you had an irregular shape? What kind of texture size restrictions did you have; could you use rectangles? And what if you had a triangular face? (I know you can push one of the corners into the other to make a triangle, but what happens to the texture?) Is there any ability to read a larger texture but only draw out a portion of it?
I'm also curious about how much texture data the system can have loaded, and how many quads it can draw per frame or per second. I know these latter two are going to depend on other variables, but I'm hoping to get a rough idea.