PS1 style rendering

Ask about ACS, DECORATE, ZScript, or any other scripting questions here!

Moderator: GZDoom Developers

Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.

Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
User avatar
AshHouswares
Posts: 145
Joined: Fri Jun 03, 2022 11:31 am
Graphics Processor: Not Listed

PS1 style rendering

Post by AshHouswares »

I've been asking this for years but can never get any advice on this subject. I am trying to emulate the look and feel of a PS1 game on my project.

By this I mean:

1. Texture warping
2. Limited draw distance (black smog for further out areas)
3. Jitter on graphics

To simplifiy... Affine Texture Mapping.

I find it very hard to believe that an engine as powerful as GZDOOM, especially in UDMF format cannot emulate this behaviour. Lots of other engines have done this, just look at the Bloodborne Demake (I know that was done on unreal engine 4 but regardless I do not see why GZDoom cannot do what the PS1 could do considering the PS1 is less powerful than it).

Can someone please help me out with this, I really need some kind of method or trick to pull this off. GZDoom engine already has a bunch of graphical features not present in other source ports, surely there is no reason a PS1 filter cannot be achieved by someone using the engine. I just need to know how.
Last edited by AshHouswares on Sun Jan 29, 2023 3:06 pm, edited 1 time in total.
User avatar
wildweasel
Posts: 21706
Joined: Tue Jul 15, 2003 7:33 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): A lot of them
Graphics Processor: Not Listed

Re: PS1 style rendering

Post by wildweasel »

Mimicking these effects is going to need powerful shader support, the likes of which I'm not sure that GZDoom has support for. The Doom engine does not render textures as affine, and to my knowledge we do not (yet?) have access to running arbitrary shaders in-world.

Whether GZDoom is "powerful" or not doesn't quite describe what you're asking it to do. The thing is, you're needing to fake rendering artifacts that are endemic to a completely different method of 3D rendering from what the Doom engine does. And if not faking them, then using a different rendering method altogether - and to use a different method of rendering, you would have to - at this point - use a different engine.
User avatar
AshHouswares
Posts: 145
Joined: Fri Jun 03, 2022 11:31 am
Graphics Processor: Not Listed

Re: PS1 style rendering

Post by AshHouswares »

Ah. This is disappointing... :( I really feel that affine texture mapping would be the perfect last step in my project.
Professor Hastig
Posts: 254
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: PS1 style rendering

Post by Professor Hastig »

This isn't really hard - all this would theoretically need is to mess around with the vertex coordinates in the vertex shader - which has never been exposed to modding.

It still begs the question: Why would you want to do such stuff? PS1 visuals is one of the ugliest looking things that ever existed.
User avatar
shino1
Posts: 60
Joined: Mon Dec 17, 2018 1:18 am

Re: PS1 style rendering

Post by shino1 »

Not all artistic choices are done to look pretty or nice. Sometimes ugly is what people need.
User avatar
Redneckerz
Spotlight Team
Posts: 1090
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: PS1 style rendering

Post by Redneckerz »

There is always PsyDoom which is quite literally the PSX Doom renderer on PC.
User avatar
wildweasel
Posts: 21706
Joined: Tue Jul 15, 2003 7:33 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): A lot of them
Graphics Processor: Not Listed

Re: PS1 style rendering

Post by wildweasel »

Redneckerz wrote: Mon Jan 30, 2023 3:06 pm There is always PsyDoom which is quite literally the PSX Doom renderer on PC.
The fact that OP is looking for textures that warp, implies to me that they want a renderer that looks like every PlayStation game besides Doom.
User avatar
Dan_The_Noob
Posts: 878
Joined: Tue May 07, 2019 12:24 pm
Graphics Processor: nVidia with Vulkan support

Re: PS1 style rendering

Post by Dan_The_Noob »

I hate this trend of indies and things making "ps1 graphics" but really they just make ugly crunchy games with low poly models.
User avatar
wildweasel
Posts: 21706
Joined: Tue Jul 15, 2003 7:33 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): A lot of them
Graphics Processor: Not Listed

Re: PS1 style rendering

Post by wildweasel »

Dan_The_Noob wrote: Mon Jan 30, 2023 7:38 pm I hate this trend of indies and things making "ps1 graphics" but really they just make ugly crunchy games with low poly models.
Your opinion is noted, however, this is a help thread.
User avatar
Dan_The_Noob
Posts: 878
Joined: Tue May 07, 2019 12:24 pm
Graphics Processor: nVidia with Vulkan support

Re: PS1 style rendering

Post by Dan_The_Noob »

wildweasel wrote: Mon Jan 30, 2023 8:25 pm
Dan_The_Noob wrote: Mon Jan 30, 2023 7:38 pm I hate this trend of indies and things making "ps1 graphics" but really they just make ugly crunchy games with low poly models.
Your opinion is noted, however, this is a help thread.
OH I didn't even put my suggestion/thought!

I was going to say, maybe you can do some animated texture trickery or access the Zbuffer (depth) somehow.
User avatar
ramon.dexter
Posts: 1562
Joined: Tue Oct 20, 2015 12:50 pm
Graphics Processor: nVidia with Vulkan support
Location: Kozolupy, Bohemia

Re: PS1 style rendering

Post by ramon.dexter »

What about retroshader?

viewtopic.php?f=103&t=53250
User avatar
Nash
 
 
Posts: 17465
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia

Re: PS1 style rendering

Post by Nash »

ramon.dexter wrote: Tue Jan 31, 2023 12:31 am What about retroshader?

viewtopic.php?f=103&t=53250
That mod no longer works with GZDoom and hasn't for a very long, long time, explanation here: viewtopic.php?p=998055#p998055

In short: that mod, at the time of release, worked by overwriting the vertex shader in GZDoom. This is not meant to be exposed for modding, so GZDoom made it impossible to overwrite it.
Professor Hastig
Posts: 254
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: PS1 style rendering

Post by Professor Hastig »

For a standalone game it would be safe to overwrite the vertex shader with a custom version.

But let's not forget a few things about the PS1 that are harder to emulate, like the complete lack of depth buffer and frequent polygon bleeding as a result. This would be a lot harder to emulate.
User avatar
AshHouswares
Posts: 145
Joined: Fri Jun 03, 2022 11:31 am
Graphics Processor: Not Listed

Re: PS1 style rendering

Post by AshHouswares »

I would like to point out that this PS1 Style was not done to be "trendy". This game concept was conceived in 1998, the game was always supposed to look like this. You could argue that since technology has moved on so much since then there would be no excuse to keep it looking like it would have back then. But the lead designer is adamant that it has to keep true to the original vision, including how it renders. That includes jittering, warping graphics and so on. This is not because it looks better, but looks more accurate to how he designed it on paper 20 years or so ago.

I have since gone for using the retroshader, since our game runs on a custom edition 3.3.0. (this is a standalone commercial game project and is not meant to be used with other versions). This made it easy enough for us to implement this retroshader (the first version in the post you linked... that's the only one we could get to work correctly). The vertex jiggle is perfect. We still need texture warping but that may have to wait (since it relies on changing the engine too much). Also, the field of view. We still have to lower that to a black fog.

However, there is a small issue.

This retroshader... it warps all the text on screen as well. This makes reading documents very difficult. Anyone have any idea how to make text and dialogue not be affected by the retroshader? We are using the original version, original method as posted in that thread by the guy with the Bowie avatar. That's the one we are using. Lead designer is happy with how that looks but the text and fonts are all warped and hard to read. Surely, there is a way to work around the text and dialogue not being affected?
Professor Hastig wrote: Tue Jan 31, 2023 6:56 am For a standalone game it would be safe to overwrite the vertex shader with a custom version.

But let's not forget a few things about the PS1 that are harder to emulate, like the complete lack of depth buffer and frequent polygon bleeding as a result. This would be a lot harder to emulate.
But isn't this no longer available in 4.10?
Nash wrote: Tue Jan 31, 2023 1:29 am
ramon.dexter wrote: Tue Jan 31, 2023 12:31 am What about retroshader?

viewtopic.php?f=103&t=53250
That mod no longer works with GZDoom and hasn't for a very long, long time, explanation here: viewtopic.php?p=998055#p998055

In short: that mod, at the time of release, worked by overwriting the vertex shader in GZDoom. This is not meant to be exposed for modding, so GZDoom made it impossible to overwrite it.
I feel a need to ask why. Some of us are not just making mods. We are working on our own original projects and should we not be allowed to do this in our own standalone games? Why should we be stifled like this. I am at an awkward point now where I need custom cheats for our project. To do this, it seems i cannot use 3.3.0 (unless you can give me an alternate method) and by upgrading to 4.10 which does allow such options, we now lose our retro shader. I feel this is harmful to the project.
Professor Hastig
Posts: 254
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: PS1 style rendering

Post by Professor Hastig »

AshHouswares wrote: Sat Feb 04, 2023 12:14 pm I feel a need to ask why. Some of us are not just making mods. We are working on our own original projects and should we not be allowed to do this in our own standalone games? Why should we be stifled like this. I am at an awkward point now where I need custom cheats for our project. To do this, it seems i cannot use 3.3.0 (unless you can give me an alternate method) and by upgrading to 4.10 which does allow such options, we now lose our retro shader. I feel this is harmful to the project.
That's the risk you take when working outside an engine's established parameters. You are surely free to do it but you automatically forfeit the ability to upgrade at some point.
At this point you may have to actually fork the engine and add your own changes there, where you have full control.

Return to “Scripting”