...That mimics the blocky, jaggy models and pixelated textures of 32-bit Saturn or PSX games? I want to see a PC game graphics engine that does just this and an example of it in action.
Printable View
...That mimics the blocky, jaggy models and pixelated textures of 32-bit Saturn or PSX games? I want to see a PC game graphics engine that does just this and an example of it in action.
and here comes the 3D nostalgia
You can do that in any 3d engine, it's a matter of the texture settings once you have the models and textures.
But is it possible to disable perspective correction?
Do you really want to disable that? I think you're better off passing on that one (and even software renderers on PC were already implementing it, even if to some limited extent - Quake is known for this, and I don't recall either The House Of The Head nor Carmageddon II distorting despite me running those in software mode either). Also Saturn is much less affected by it than the PS1, and the N64 implements it as well...
But yeah, it boils down to this basically:
- Use a low resolution. A pixel density akin to 240p will do
- Don't use texture filtering
- Don't use antialiasing (d'oh)
- Lo-poly models and lo-res textures =P
A better question is whether you can find a modern engine that doesn't hog all the system resources and some more just to display a cube.
EDIT: being more specific.
Also something in common is that those used 15-bit (not even 16-bit) color... that will be harder to do since hardware doesn't support it anymore. I suppose you could fake it using a postprocessing shader (render everything as 32-bit, then use the shader to intentionally reduce color resolution - include dithering here if you want to look like PS1, don't if you want to look like Saturn).
I've just finished up on a 2D project that tries to achieve the 16-bit look, but some of the ideas may still apply to 3D.
Render the viewport to a small render target (320x240) and draw that to a full-screen native res quad without any texture filtering, and use a colour lookup shader (e.g.: http://gamedev.stackexchange.com/que...ette-in-opengl).
Well, I managed to do something similar with post-procesing using UE4 such downsampling the internal-resolution, among with palette and some other tricks like that.
I know there are plugins for UE4 or Unity that simulate wobbly, unstable 3D geometry of 32-bit consoles.
The idea of using modern game engines to simulate 1995 3D is really amusing. It's almost as bad as a Magic The Gathering life counter on the play store written in Unity. Never have two buttons and a number counter destroyed battery life so quickly. At least the MTG life counter thingy is rendering more than 320x240 pixels.
That's the issue, the whole thing is overkill. A modern engine per-se wouldn't be much of an issue if it wasn't because they hog all the system resources and some more because they were optimizing with AAA-ish games (or at least AA) in mind. They can be reconfigured to be much nicer on the hardware, but by the point you do that you've spent so much effort that you may have as well made your own engine (which would be probably much more lightweight).
Actually I lie, I recall Godot spending much less resources than other engines (since they focused on optimizing what's already there before adding new features, that's why the 3D seemingly lags behind compared to other engines). I'd really need to check though, I haven't done any real tests on it.
^It's not an overkill... in fact it's much much muuuch easier to do this over an "AAA" game...
"Jaggy PSX effect" is actually achieved by randomly modifying the vertex positions in the mesh on the fly, either based on shader's local vertex coordinates or object's global coordinates corresponding to the camera. This can be done in any modern game engine.. there are a plenty of examples for Unity if u google it. and it will even run on a Mobile.. so it's pretty much optimised AF.
p.s. of course u'll need lowpoly models(or so called LOD system to downsample highpoly ones for you again on the fly), 16-bit gamma dithering on textures(unlit textures) and fake shadow projectors. All can be done easily in Unity.