PSX vs N64 graphical look

Which type of graphics do you prefer?


  • Total voters
    35
I thought it would be easy as pie, as easy as applying additional filters if you use an emulator on a modern GPU, which is light years beyond whatever the PS1 could produce. I mean....judging by @Nesh post where he shared some videos, I don't see problems with perspective correction or subpixel precision in the Crash Team Racing video --incredible game btw, I remember playing this game for hours at a friend's house, it was so addictive!

You don't notice it in CTR because the game is well designed to work around the limitation, not because the emulator is removing something. That said, it's still very noticeable in the snow level because of the big high frequency ground textures.

By the time triangle primitives hit PS1's GPU, the data necessary for perspective correct interpolation or sub-pixel/texel precision is already gone. This data can be extracted from the GTE's 3D calculations but the GTE doesn't talk directly to the GPU, making any attempt to do so complicated. The vertexes sent to the GTE will almost certainly be in a different order than how they appear as primitives to the GPU because of depth sorting. And the mapping won't be 1:1, as some vertexes output by the GTE will be discarded (due to frustum and backface culling) and some will appear multiple times (due to being shared by adjacent triangles). Perhaps the most serious issue is clipping, where new vertexes are created after the GTE stage by the CPU. The clipping would need to be redone to have the correctly interpolated colors/texture coordinates. And if any vertexes bypass the GTE altogether you're entirely out of luck.

It's possible it can still be done in a way where it works on a lot of games without serious problems, but it's not trivial and there could be a lot of overhead. gpuBladeSoft 1.44 was supposed to have enhancement involving depth (both perspective correct interpolation and Z-buffering) but I don't think it was ever released. It'd also surely need a modded version of the core emulator and not just work as a GPU plugin.
 
I got to think of how Photoshop allows you to move individual vertecies of an object when free-transforming it. Although the user has no way of providing depth information about each vertice, it does recreate perspective projection. I wonder how it guesses depth to do that, or how it goes about doing it without depth. Although, it uses quads so maybe the extra vertice provides the necessary info to guess the 3dimetional position of the distorted image
 
I got to think of how Photoshop allows you to move individual vertecies of an object when free-transforming it. Although the user has no way of providing depth information about each vertice, it does recreate perspective projection. I wonder how it guesses depth to do that, or how it goes about doing it without depth. Although, it uses quads so maybe the extra vertice provides the necessary info to guess the 3dimetional position of the distorted image

Do you mean like this?


It infers perspective because the source is a rectangle, which has a unique perspective projection mapping to an arbitrary quad. But if you're going from an arbitrary quad to an arbitrary quad (or triangle to triangle) you don't have a unique mapping.
 
Last edited:
I was actually talking about regular transformation of images in photoshop. Select an image in ps, cmnd/ctrl+t it, then hold cmnd/ctrl when moving one of its vertices. But your exemple works as well.
And yeah, I pretty much figured the 4 point thing so as soon as I posted... hehe.
So given Saturn used quads, did it draw them with correct perspective? I'm not very familiar with that console... But if that's the case, there goes at least one advantage on using sprites for 3d over conventional triangle rasterization. It can get rid of all the warping without the need for Z data when drawing.
 
So given Saturn used quads, did it draw them with correct perspective? I'm not very familiar with that console... But if that's the case, there goes at least one advantage on using sprites for 3d over conventional triangle rasterization. It can get rid of all the warping without the need for Z data when drawing.

Saturn used rectangles, and could have drawn them perspective correct w/o Z data, but it didn't, because it's not free. Especially if you have to derive the depth from the distortion of the sprite. It'd make more sense to just take some form of depth data.

There was less distortion than with triangles, though. For instance, a ground plane projected towards the horizon would at least compress in the X axis. Just not in the Y axis.

But Saturn's rendering approach had a bunch of other problems.
 
The saddest thing is that, most N64 games were blurry more because of the shitty video analog output than the games themselves.

The PAL games were even more blurry than the NTSC games too (N64 and gamecube). Either N64 and gamecube Pal machines are doing some sort of internal additional analog scaling compared to NTSC machines or the PAL output is compromised and flawed somehow. At least that's how I would explain it.

This blurry image was even present in one Wii PAL game, Zelda Twilight Princess, a Gamecube game ported to the Wii.
 
Smash Brothers Melee had a anti-flickering filter that you could turn on and off. Perhaps the other games had it as well but didn't have an option to turn it off.
 
Back
Top