PS1 style rendering
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!)
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!)
-
- Posts: 145
- Joined: Fri Jun 03, 2022 11:31 am
- Graphics Processor: Not Listed
PS1 style rendering
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.
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.
-
- 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
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.
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.
-
- Posts: 145
- Joined: Fri Jun 03, 2022 11:31 am
- Graphics Processor: Not Listed
Re: PS1 style rendering
Ah. This is disappointing... I really feel that affine texture mapping would be the perfect last step in my project.
-
- Posts: 254
- Joined: Mon Jan 09, 2023 2:02 am
- Graphics Processor: nVidia (Modern GZDoom)
Re: PS1 style rendering
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.
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.
-
- Posts: 60
- Joined: Mon Dec 17, 2018 1:18 am
Re: PS1 style rendering
Not all artistic choices are done to look pretty or nice. Sometimes ugly is what people need.
-
- Spotlight Team
- Posts: 1090
- Joined: Mon Nov 25, 2019 8:54 am
- Graphics Processor: Intel (Modern GZDoom)
Re: PS1 style rendering
There is always PsyDoom which is quite literally the PSX Doom renderer on PC.
-
- 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
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.Redneckerz wrote: ↑Mon Jan 30, 2023 3:06 pm There is always PsyDoom which is quite literally the PSX Doom renderer on PC.
-
- Posts: 878
- Joined: Tue May 07, 2019 12:24 pm
- Graphics Processor: nVidia with Vulkan support
Re: PS1 style rendering
I hate this trend of indies and things making "ps1 graphics" but really they just make ugly crunchy games with low poly models.
-
- 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
Your opinion is noted, however, this is a help thread.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.
-
- Posts: 878
- Joined: Tue May 07, 2019 12:24 pm
- Graphics Processor: nVidia with Vulkan support
Re: PS1 style rendering
OH I didn't even put my suggestion/thought!wildweasel wrote: ↑Mon Jan 30, 2023 8:25 pmYour opinion is noted, however, this is a help thread.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.
I was going to say, maybe you can do some animated texture trickery or access the Zbuffer (depth) somehow.
-
- Posts: 1562
- Joined: Tue Oct 20, 2015 12:50 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Kozolupy, Bohemia
-
-
- Posts: 17465
- Joined: Mon Oct 27, 2003 12:07 am
- Location: Kuala Lumpur, Malaysia
Re: PS1 style rendering
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.
-
- Posts: 254
- Joined: Mon Jan 09, 2023 2:02 am
- Graphics Processor: nVidia (Modern GZDoom)
Re: PS1 style rendering
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 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.
-
- Posts: 145
- Joined: Fri Jun 03, 2022 11:31 am
- Graphics Processor: Not Listed
Re: PS1 style rendering
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?
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?
But isn't this no longer available in 4.10?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.
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.Nash wrote: ↑Tue Jan 31, 2023 1:29 amThat 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.
-
- Posts: 254
- Joined: Mon Jan 09, 2023 2:02 am
- Graphics Processor: nVidia (Modern GZDoom)
Re: PS1 style rendering
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.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.
At this point you may have to actually fork the engine and add your own changes there, where you have full control.