[WIP] RetroShader =Computer Friendly!= Update 4

Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
torridgristle
Posts: 684
Joined: Fri Aug 23, 2013 9:34 am

[WIP] RetroShader =Computer Friendly!= Update 4

Post by torridgristle »

GZDoom Dev Build
Image

Tired of GZDoom's sterile smoothness? So am I. There's just something aesthetically pleasing about low colour and low resolution graphics, and this shader does just that.

[spoiler=Screenshots]Click the JPEG thumbnails for the crispy PNGs.

Image
Image
Image
Image
* D4D + Crunk Refinery[/spoiler]
Download
RetroShader.pk3

Instructions:
This replaces the Lens Distortion shader in the recent GZDoom dev builds, so enable Lens Distortion under Display Options -> OpenGL Options -> Preferences. While you're there, set Sector Light Mode to Software. To make lights extra pronounced you can go to OpenGL Options -> Dynamic Light Options and set the Light Size to 2.

Customization:
Open up the PK3 in Slade and open lensdistortion.fp, you'll now see a neat list of variables you can change. Enable or disable effects with a simple 1 or 0, no more copy and pasting shaders in and out of files.

Additional Fun:
To get PlayStation vertex jiggles in GZDoom, open gzdoom.pk3, navigate to shaders/glsl/main.vp, and in a new line after "gl_Position = ProjectionMatrix * eyeCoordPos;" add "gl_Position.xy = floor(gl_Position.xy/gl_Position.w*(1./0.015))*0.015*gl_Position.w;//The Vertex Jiggler" Setting 0.015 lower will lower the jiggle, setting is higher will increase the jiggle. This affects sprites, HUDs, menus, and HUD messages as well.

[spoiler=Credits]LowResPosterize & LowRes modified from compsci89's post at http://irrlicht.sourceforge.net/forum/v ... =9&t=45531
crt-curve modified from Wesley LaFerriere's code at https://github.com/wessles/GLSL-CRT/blo ... hader.frag
gameboy modified from Christopher Lawless' code at https://github.com/lawlessc/oliveretroshader
Gamma-adjusted posterization modified from http://www.geeks3d.com/20091027/shader- ... fect-glsl/
Vertex Jiggler from http://www.gamedev.net/topic/636769-sim ... &p=5017858[/spoiler]
You do not have the required permissions to view the files attached to this post.
User avatar
Trusty McLegit
Posts: 264
Joined: Sun Feb 07, 2016 8:42 pm

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by Trusty McLegit »

Dude this thing is fucking awesome! A couple things you can do to make the experience more true to classic doom is to set tonemap mode to palette, as well as set cl_capfps to 1 in the console.
User avatar
Rachael
Admin
Posts: 12875
Joined: Tue Jan 13, 2004 1:31 pm
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by Rachael »

Nice! It is fun seeing all the mods coming out of the post-processing code now that it has been released. Maybe in the future, we might get a platform for custom post-processing shaders that will actually be officially supported for mods.
User avatar
JPL
 
 
Posts: 516
Joined: Mon Apr 09, 2012 12:27 pm

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by JPL »

Here's some video of the Playstation style vertex jiggles, as it's basically impossible to capture in screenshots:

User avatar
Nash
 
 
Posts: 17282
Joined: Mon Oct 27, 2003 12:07 am
Twitch ID: nashmuhandes
Github ID: nashmuhandes
Location: Kuala Lumpur, Malaysia

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by Nash »

torridgristle wrote:To make lights extra pronounced you can go to OpenGL Options -> Dynamic Light Options and set the Light Size to 2.


Just as a "by the way", this setting has been removed and will be absent in future versions of GZDoom. :D

EDIT: Oh god the vertex jiggling really does look just as awful as how I remember it looking on the PlayStation. Now all you need to complete the look is the ugly-ass perspective texture distortion. Good job. :P
User avatar
torridgristle
Posts: 684
Joined: Fri Aug 23, 2013 9:34 am

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by torridgristle »

I've modified the vertex jiggler since then, but I've lost interest in it.

Code: Select all

   gl_Position = ProjectionMatrix * eyeCoordPos;
if ( gl_Position.w == 1 )//The vtexCoord Jiggler Disabled
      {
      vTexCoord = vTexCoord;
      }
else//The vtexCoord Jiggler Enabled   
{
   vTexCoord = floor(vTexCoord*(gl_Position.w*0.9))/(0.9*gl_Position.w);
}
if ( gl_Position.w == 1 )//The gl_Position Jiggler Disabled
      {
      gl_Position.xy = gl_Position.xy;
      }
else//The gl_Position Jiggler Enabled
{
//   gl_Position.xy = floor(gl_Position.xy*0.8)*(1/0.8);
   gl_Position.xy = floor(gl_Position.xy*(gl_Position.w*0.8))*(1/(gl_Position.w*0.8));
}


Can't say I'm pleased that someone is deciding that I shouldn't be able to adjust the size or intensity of GL lights for my own personal experience, the settings in lights.pk3 were arbitrarily designed to begin with.
User avatar
SigFloyd
Posts: 163
Joined: Mon Feb 13, 2012 2:03 am

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by SigFloyd »

Just having the pixelated shader by itself is a goddamn dream come true.
mumblemumble
Posts: 927
Joined: Fri Aug 23, 2013 1:59 pm

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by mumblemumble »

Absolutely awesome, now I can have that "Is that a nazi or a potted plant" feeling without having low resolution. I feel like I should combine this with the most fancy and visual map / mod, just for the sake of irony.

Any chance you can make a version with even more pixilation?
User avatar
Woolie Wool
Posts: 1711
Joined: Mon Dec 15, 2003 3:36 pm
Discord: Woolie Wool#9878
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by Woolie Wool »

For me, the weapon sprites don't scale correctly and have "swimming" pixels and reduced detail, even though I set the aspect ratio in the pk3 to the correct value (16:10).
User avatar
Matt
Posts: 9664
Joined: Sun Jan 04, 2004 5:37 pm
Location: Gotham City SAR, Wyld-Lands of the Lotus People, Dominionist PetroConfederacy of Saudi Canadia

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by Matt »

...this plus the new bloom is everything I've always wanted in a modernized Doom.
User avatar
Tormentor667
Posts: 13458
Joined: Wed Jul 16, 2003 3:52 am
Location: Germany

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by Tormentor667 »

This should so much end up in the official release of GZDoom!
User avatar
Nash
 
 
Posts: 17282
Joined: Mon Oct 27, 2003 12:07 am
Twitch ID: nashmuhandes
Github ID: nashmuhandes
Location: Kuala Lumpur, Malaysia

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by Nash »

dpJudas, how about a retro/PlayStation mode in GZDoom? X-P
dpJudas
 
 
Posts: 2860
Joined: Sat May 28, 2016 1:01 pm

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by dpJudas »

Sorry, I have no plans adding such a thing. GZDoom does accept feature suggestions if they come with a pull request though. :)

One of the reasons I want to extend GLDEFS with support for screen space shaders is to allow stuff like this without requiring it to be part of gzdoom itself.
User avatar
Tormentor667
Posts: 13458
Joined: Wed Jul 16, 2003 3:52 am
Location: Germany

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by Tormentor667 »

dpJudas wrote:GZDoom does accept feature suggestions if they come with a pull request though. :)

Can someone take care of that? :D
User avatar
JPL
 
 
Posts: 516
Joined: Mon Apr 09, 2012 12:27 pm

Re: [WIP] RetroShader =Computer Friendly!= Update 4

Post by JPL »

dpJudas wrote:One of the reasons I want to extend GLDEFS with support for screen space shaders is to allow stuff like this without requiring it to be part of gzdoom itself.


I definitely support this route, for any visual treatment that isn't from the standard post-processing toolbox (the way, say, tone mapping and bloom are). Let mods create all the cool wild stuff that stretches beyond what an engine should do out-of-the-box.

Return to “Shaders”