Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CRT-Guest-NTSC #3268

Merged
merged 7 commits into from
Aug 2, 2024
Merged

Add CRT-Guest-NTSC #3268

merged 7 commits into from
Aug 2, 2024

Conversation

johnnovak
Copy link
Contributor

Description

This is a port of the ReShade port of Guest's NTSC CRT shader, with extra adjustments for Duckstation.

All major features work correctly but some minor issues may still remain. Nevertheless, it's already very usable in its current form.

Things that I've done:

  • The shader is now native resolution based
  • Native height triggered fake interlace/hi-res mode works (interlacing should be disabled as the emulator level, so feed it progressive input)
  • The scaling of all effects (vignette, border, blur, etc.) now work mostly correctly with all window/viewport sizes and scaling modes (the screen curvature is a little bit off when varying the window size... oh well 🤷🏻)
  • Organised shader params into categories and converted enums to drop-downs
  • Reformatted the code so it's closer to Guest's original code (the ReShade conversion had all formatting and most whitespaces removed for some bizarre reason...)

Screenshots

The shader emulates the temporal artifacts of the NTSC signal very well, so the screenshots don't really look like the real thing in action, but here we go (e.g., the yellow-blue vertical interference pattern is not nearly as strong because it's constantly modulated at 60 Hz).

The shader is intended to be used with native rendering. Nearest-neighbour integer scaling works best, but all scaling methods are supported.

Raw image

image

Default preset

image

My personal preset

For maximum composite murkiness 😎 🤘🏻

image

More screenies

image

image

image

HelelSingh and others added 7 commits July 29, 2024 23:15
- The shader is now native resolution based
- Native height triggered fake interlace/hi-res mode works
- The scaling of all effects (vignette, border, blur, etc.) now work
  mostly correctly with all window/viewport sizes and scaling modes
The bug only manifested at specific window sizes
@johnnovak johnnovak marked this pull request as ready for review July 29, 2024 13:54
@stenzek stenzek merged commit 24abd10 into stenzek:master Aug 2, 2024
0 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants