bradharding / doomretro

The classic, refined DOOM source port. For Windows PC.
https://www.doomretro.com
GNU General Public License v3.0
653 stars 77 forks source link

[Feature request] Scanlines effect in-game #638

Open vanfanel opened 3 years ago

vanfanel commented 3 years ago

Hi there, @bradharding

I was thinking... since you have applied some kind of scanline effect to the menu distortion, would it be possible to have scanlines in-game? Even some screen curvature effect. Everything would be optional, of course! But I believe it would be consistent with your vision of DoomRetro, wouldn't it?

bradharding commented 3 years ago

Because of the way SDL works, to implement this would require a lot of works (ie. shaders), but good idea!

vanfanel commented 3 years ago

@bradharding May I suggest a libretro port? Shaders come for free in that case :D

VGkav commented 3 years ago

Can't you inject a scanline shader with ReShade?

vanfanel commented 3 years ago

Can't you inject a scanline shader with ReShade?

I guess that's a Window$ thing. Not interested because I won't touch a Window$ computer with a 10mts pole, but thanks :D

VGkav commented 3 years ago

I should have known someone with a Stalin profile would be a Linux user!

:D

garoto commented 3 years ago

I like the dollar sign in the place of the s, lmao. I can see it becoming trendy in a couple of years lol.

vanfanel commented 3 years ago

@AnotherLife The Stalin picture is parodic! But yeah, it suits me ideologically.

@garoto That absurd $ for S has got me since 2002 or so :D

dftf-stu commented 2 years ago

Would a scanline effect really be so difficult to implement?

You are only setting every-other line to either be fully-black, or maybe say 25% or 50% translucent.

Translucency would be more-difficult, but for fully-black surely you could just render an image the same dimensions as the viewable game area, set say every odd line to black, then every even line to a specific colour to use as the transparent colour, and then the game just renders normally below, but gets painted-over?

You know, similar to the "mesh" effect that MS-DOS and Sega Saturn games used to use to fake shadows and transparencies... just overlay the effect

garoto commented 2 years ago

Just use Reshade...

vanfanel commented 7 months ago

@bradharding I have seen this: https://github.com/jorisvddonk/GZDoom_CRTShader

Look at these pics, that's how DoomRetro should look like in my mind! :D No hope for shaders for us GNU/Linux users?

This has a very clean renderer code with shader support that could be used in DoomRetro: https://github.com/snesrev/zelda3

vanfanel commented 7 months ago

...Well, in the end I am using this little wonder:

https://github.com/DadSchoorse/vkBasalt

No need for internal shaders I guess :)

Using Zink (GL on Vulkan) vkBasalt works on GNU/Linux wonderfully, and DoomRetro looks CRT-ish now around here, just like I wanted it to!)