Silent-Hill-2-Enhancements icon indicating copy to clipboard operation
Silent-Hill-2-Enhancements copied to clipboard

CRT Shader or Scanlines

Open AeroWidescreen opened this issue 2 years ago • 5 comments

@elishacloud @Polymega I've been playing a lot of PS1 and PS2 era games lately and I found that CRT shaders can really improve the visual presentation. Gradients blend better, textures don't look as jagged, and aliasing disappears almost entirely. It arguably adds to the horror experience as well. Just wanted to know if you guys think this would be a good idea to add as an option or do you think it's too "retro" for the Enhanced Edition?

https://github.com/akgunter/crt-royale-reshade CRT-Royale

AeroWidescreen avatar Jun 09 '22 22:06 AeroWidescreen

That's something Elisha and I have on the to-do list. I think it looks cool, but you'd probably need to also adjust the levels to compensate for how dark the effect makes the image. It's already a dark game, and this might push it over the edge. Middle image is adjusted levels with the shader on:

001

^ Chances are, GitHub scaled this image down to fit in the post, so you might have noticed the ill-effects caused by the moiré pattern of the shader. Notice how the moiré pattern further affects the image when resized via post:

002 003

This is a concern I have, particularly for streamers. If a streamer activates this and has the game image resized post through OBS it's going to make things wrong/ugly. The average person doesn't know/understand that moiré patterns can cause this and it'd reflect bad on the project, in my opinion.

In other words: I like the idea, but I'm also hesitant.

Polymega avatar Jun 09 '22 23:06 Polymega

That's something Elisha and I have on the to-do list. I think it looks cool, but you'd probably need to also adjust the levels to compensate for how dark the effect makes the image. It's already a dark game, and this might push it over the edge.

Right. Not sure if you ever used CRT-Royale, but there are options to adjust all of this in the shader settings. I just didn't do it it here because I stuck to default settings. There's actually a lot of options that I'm sure someone more experienced can fine tune to look better.

CRT-Royale

And of course we could experiment with other shaders. I'm only using CRT-Royale as an example here, since it appears to be highly regarded, although heavy on performance.

This is a concern I have, particularly for streamers. If a streamer activates this and has the game image resized post through OBS it's going to make things wrong/ugly

Fair point. This is something I noticed as well, which is why my initial post uses a heavily cropped screenshot, so Github wouldn't resize it.

Besides disabling the shader by default, maybe we could add a clear warning for streamers and content creators to leave it off?

AeroWidescreen avatar Jun 10 '22 07:06 AeroWidescreen

Comically appropriate:

image

matheusvb3 avatar Jun 14 '22 10:06 matheusvb3

I happened across this tweet today:

https://twitter.com/dariosamo/status/1540488943594049536

That last filter shown: That might make for a nice CRT filter. It even has that soft, slightly blurry glow to it.

Looking at the filter you shared Aero_, its effects are predominant in both horizontal and vertical lines. I believe the vertical lines in particular are what's causing the bad/wonky visual effects when post-scaled.

The last filter in that tweet has little (no?) vertical line effects, so the worst that can happen when post-scaled is some slightly uneven horizontal lines which doesn't look near as bad. Here it is scaled post to various sizes. Still looks pretty nice overall.

image image image

^ The ill side effect I'm noticing is uneven horizontal lines which is a lot less severe than the side effects illustrated with the other shader further up this thread.

Polymega avatar Jun 25 '22 20:06 Polymega

That last filter shown: That might make for a nice CRT filter. It even has that soft, slightly blurry glow to it.

I think part of the charm in CRTs is that they slightly blur the image, which removes or hides jaggies and other problems with older 3D animation. I used to be against scanlines. But for older 3D games, after using the RetroTink 5x Pro, I started to like them. Even things like antialiasing will make the picture a bit more blurry to remove the jaggies.

In this case, scanlines can hide any blemishes of the game. For example, in my opinion, James' mouth looks very fake. But when using good quality scanlines it hides the fakeness and his mouth looks much more believable. I think for this, we just need to find CRT effects that look the most like actual CRT scanlines.

The last filter in that tweet has little (no?) vertical line effects, so the worst that can happen when post-scaled is some slightly uneven horizontal lines which doesn't look near as bad. Here it is scaled post to various sizes. Still looks pretty nice overall.

Yes, I like the looks of the scanlines in these pictures.

^ The ill side effect I'm noticing is uneven horizontal lines which is a lot less severe than the side effects illustrated with the other shader further up this thread.

A shader should never have this issue. This uneven lines is caused by the way the game is upscaled. It happens on some of my equipment if I use a non-integer factor to upscale to. For example, if you are up-scaling 240p to 1080p if you do a factor of 4x then you have a large black border. If you do 5x then you have part of the picture cut off. A factor of 4.5 is perfect, but that can cause uneven lines. However, for Silent Hill 2 we should never see that issue if we use shaders to add the scanlines.

elishacloud avatar Jul 05 '22 23:07 elishacloud

Here is the latest build with CRT shaders and all fixes up to this point.

Testing build: d3d8.zip

elishacloud avatar Nov 12 '22 17:11 elishacloud