Does anyone remember Quads?

So, I was recently inspired by a Twitter discussion to revisit a game from my past, Panzer Dragoon Saga, and I was wondering, what if Sega’s quad graphics were ahead of there time? Polygons are rendered with triangles, and a quad is essentially two triangles, so wouldn’t a modern system running a model build on Quads have double the fidelity of a similar model in Polygons? And would Unity be modable to render Quads, or simulate Quads with two polygons?

How are we approaching this topic? Are we approaching it while continuing to understand that triangles have advantages that make them easier to optimize for? Or are we going to pretend that none of that exists and speculate what could have been?

3 Likes

The big issue with a quad is that there is no guarantee that any given four points are coplanar. With a triangle its mathematically impossible to produce three points that are not coplanar.

This means you have to add an additional check for coplanar at some point in your process. This can either be before the game is compiled, which limits you from doing some cool procedural mesh stuff. Or it can be before sending to the graphics card, which jams up your CPU. Or it could be on the GPU, which adds significantly more processing time, and limits what else the card can do.

No. A quad requires 4 vertices to define it. Two triangles require 6 vertices. So at best you are able to define a model with 67% of the vertices. However that’s before you get into the practical requirements of modelling your surface, which may or may not suit quads well. Particularly curvy or organic models may end up needing one quad per triangle, in which case you will actually end up using 133% of the vertices required by triangles.

Unity already has this capability. You can create quad meshes, which are just two triangles. I do it all the time. If you really wanted to, it would be trivial to read out a quad mesh and output it to a triangle mesh.

1 Like

This is already supported. It’s called rendering two triangles. Kiwasi beat me to it. :slight_smile:

Really, though, there are so many work-arounds for polygon density that I think people have stopped worrying about it now and have gone on to focus on more-limiting graphics bottlenecks.

2 Likes

A true “quad” can’t be bent. As such, it isn’t really appropriate for some 3D models. A false quad that is really constructed of two triangles can be bent, which makes it much more appropriate for 3D modeling.

The actual advantage for the Sega Saturn in using quads was not in 3D modeling, but in 2D sprite graphics. This was a big part of why the Saturn was poorly regarded for its 3D games, but highly praised for the 2D games developed for the system. For constructing 3D models, quads are sub-optimal. For displaying 2D sprites, they’re great.

For a modern engine, if you wanted to optimize it for using quads extensively for 2D graphics rendering, that would actually be a pretty good idea. (depending on how you approached the problem) For 3D graphics, the regular triangle approach is probably going to work better with modern pipelines.

3 Likes

Crumbs I forgot all about the Saturn’s sprite hardware…

IT wasn’t just the saturn, the 3DO too and one nvidia card NV1

Also some game engine, where using quad as internal representation to speed stuff, like early tomb raider environment engine (and basically all the games based on similar idea like system shock1, etc …)

Also it’s false to say a quad was (always) 4 vertices, it could actually be 2 axis (stretch) and one position (hard to create continuity of edges, especially with wobbly bit precision of ye old), it’s not on the same rendering principle. These type of Quad had some speed advantage for some type of (blocky) environment but generally limit greatly. It’s arguable to say that engine like wolfenstein and doom where based on quad (and access through raycasting), that’s not so much a stretch but then it’s also too far regarding how people usually conceptualized quad rendering in general.

In the end you still needed triangle somewhere, and a lot of people did internal tri representation (easier to comprehend by artist, due to continuity of edges) and expensively transform the into quad, which cut performance (especially in psx or pc port toward saturn).

In the end art direction win, panzer dragoon is a beauty on saturn

Also the modern geometric primitive now aren’t just tri, there is also strip and fan, which a quad can be represented as both (but still rasterized as tri).

Poetic justice for the saturn, it couldn’t handle transparency very well, so they had to do stippling technique, nowaday transparency is still hard so we fall back to that old technique more often that not … :smile:

SOME source
saturn rendering of sonic R

Tomb raider rendering on saturn (really cool visualization of quad)

8:07 comparaison of a staturn quad engine vs port

3DO quad rendering explained (stretch axis)