Skip to content

Releases: mausimus/ShaderGlass

ShaderGlass v1.2.2

29 Aug 03:57

Choose a tag to compare

Minor bugfix release:

  • workaround for browser video blanking out when inactive
  • fix for moving mouse to top or left screen edges showing cursor

ShaderGlass v1.2.1-bfi-alpha3

23 Aug 07:35

Choose a tag to compare

Pre-release

UPDATED ALPHA VERSION OF BFI / BLUR BUSTERS CRT BEAM SIMULATOR EXPERIMENT

This is an experimental branch of ShaderGlass dedicated to BFI & Blur Busters CRT Beam Simulator shaders.
Visit https://blurbusters.com/ to find out more about the shaders and their authors.
All other RetroArch shaders have been removed in this branch; use the mainline version of ShaderGlass for those.

This is alpha3, big thank you to everyone for testing previous alphas.

DOWNLOAD
https://github.com/mausimus/ShaderGlass/releases/download/v1.2.1-bfi-alpha3/ShaderGlass-1.2.1-bfi-alpha3-win-x64.zip

How to test:

  • start up ShaderGlass, it will launch in a window
  • it should default SubFrames to refresh rate / 60, double check in Output -> Sub-frames
  • start up your game in borderless full-screen and limit to 60 fps if possible (using in-game limiter or RTSS)
  • press Ctrl+Shift+G to bring ShaderGlass fullscreen while keeping focus in-game
  • press Ctrl+Shift+A to toggle shader on/off to make sure it's active (if anything, image will be slightly darker); if you're seeing desync (hard flashing) you can use this hotkey to reset
  • you can use Output menu to try different shaders and change some of their Parameters

For best results:

  • disable "Hardware accelerated GPU-scheduling" (HAGS) in Windows if you have the option to (System -> Display -> Graphics -> Advances graphics settings; computer restart required)
  • alternatively, use Process Lasso (https://bitsum.com/) to set ShaderGlass' both CPU and GPU priorities to Always Real-Time (works just as well as disabling HAGS for me)
  • use latest version of Windows 11 (24H2) so that you are able to utilize Max Capture Rate
  • set Windows Power Mode to Best Performance (every little helps)
  • disable any other apps, overlays, disconnect additional monitors etc.
  • start with lower graphics quality or older games: the more GPU headroom there is, the easier it will be to avoid desyncs

With all of the above, desyncs (i.e. flashing) and capture stutter are minimal on my setup (13600k, 5060Ti 581.08, 240Hz 1080p). I recommend starting with older games like Quake or Trackmania before trying newer titles (these can be a mixed bag; UE games in particular often flash in menus but work decently in-game).

As usual, feel free to give this a shot and report your experience. This is really just an experiment to see if using capture method is a viable approach to running beam simulation shaders (it's far from ideal, but nevertheless worth trying). Since we are dealing with the black box of Windows' GPU scheduling, any correlation with your settings or specs can reveal meaningful info.

Changes in alpha3:

  • improved timing circuits to reduce capture stutter
  • Max Capture Rate is now enforced when available (please update to Win11 24H2)
  • merged in mainline fixes around device capture

Subframe specific options

You can adjust subframe-specific options to see if it makes a difference on your setup:

  • Sync first sub-frame: when set, this will capture at 60 Hz and use the same input frame for all subframes (as is the intention); if you disable this you might get less stutter and lower latency but get some color/tearing-like artifacts from the shader
  • Internal VSync: rather than using driver VSync, ShaderGlass can try to time frames to its internal VSync clock (older method kept for posterity/experiments only)

FREQUENTLY ASKED QUESTIONS

> What do I need to try this?

You need a high-refresh monitor which can run at a multiple of 60Hz (120, 240 etc.)

> I see slow moving scanlines or color banding on screen

This is a feature of CRT Beam Simulator to prevent temporary image retention. You can open Shader -> Parameters window and either set Scan Direction to 0 to disable, or adjust Gamma so that it's less visible.

> I started a game but it's flashing a lot

Try lowering quality settings in-game, you need a lot of GPU headroom; and make sure you did what you can from the best results list above.

> Every 10 or 20 seconds there's a "stutter wave"

Try to set your monitor to exact multiple of 60 Hz, not 239.76 Hz or something like that.


PLEASE PROVIDE FEEDBACK IN GITHUB DISCUSSION
#202

ShaderGlass v1.2.1

19 Aug 10:49

Choose a tag to compare

Minor bugfix release around device capture:

  • allow hardware transforms in device capture (less lag, more fps)
  • fix Pixel Size not saving with device profiles
  • ignore bad capture devices/formats

ShaderGlass v1.2.0-bfi-alpha2

15 Aug 06:03

Choose a tag to compare

Pre-release

UPDATED ALPHA VERSION OF BFI / BLUR BUSTERS CRT BEAM SIMULATOR EXPERIMENT

This is an experimental branch of ShaderGlass dedicated to BFI & Blur Busters CRT Beam Simulator shaders.
Visit https://blurbusters.com/ to find out more about the shaders and their authors.
All other RetroArch shaders have been removed in this branch; use the mainline version of ShaderGlass for those.

This is alpha2, big thank you to everyone for testing alpha1! Based on the feedback and my own experiments
I've revised the timing logic and was able to improve stability of the effects.

DOWNLOAD
https://github.com/mausimus/ShaderGlass/releases/download/v1.2.0-bfi-alpha2/ShaderGlass-1.2.0-bfi-alpha2-win-x64.zip

UPDATE 16/08: Capture stutter is now the main problem, I will be digging into this more.

How to test:

  • start up ShaderGlass, it will launch in a window
  • it should default SubFrames to refresh rate / 60, double check in Output -> Sub-frames (sorry no support for 144/165 yet)
  • start up your game in borderless full-screen and limit to 60 fps if possible (using in-game limiter or RTSS)
  • press Ctrl+Shift+G to bring ShaderGlass fullscreen while keeping focus in-game (global hotkey, press while in-game)
  • press Ctrl+Shift+A to toggle shader on/off to make sure it's active (if anything, image will be slightly darker); if you're seeing desync (hard flashing) you can use this hotkey to reset
  • you can use Output menu to try different shaders and change some of their Parameters

For best results:

  • disable "Hardware accelerated GPU-scheduling" (HAGS) in Windows if you have the option to (System -> Display -> Graphics -> Advances graphics settings; computer restart required)
  • alternatively, use Process Lasso (https://bitsum.com/) to set ShaderGlass' both CPU and GPU priorities to Always Real-Time (works just as well as disabling HAGS for me)
  • use latest version of Windows 11 so that you are able to utilize Max Capture Rate in Processing -> Advanced
  • disable any other apps, disconnect additional screens, etc.
  • start with lower graphics quality or older games: the more GPU headroom there is, the easier it will be to avoid desyncs

With all of the above, desyncs (i.e. hard flashing) don't really happen on my setup (13600k, 5060Ti, 240Hz 1080p) anymore. The only annoyance is occasional input frame stutter where Windows Capture fails to consistently capture the game, something to look at. If you disable "Sync first sub-frame" choppiness will be less noticeable.

As usual, feel free to give this a shot and report your experience. This is really just an experiment to see if using capture method is a viable approach to running beam simulation shaders (it's far from ideal, but nevertheless worth trying). Since we are dealing with the black box of Windows' GPU scheduling, any correlation with your settings or specs can reveal meaningful info.

Changes/new options in alpha2:

  • classic/driver VSync is now the default; this will publish a new frame as soon as possible giving Windows best chance to present it in time; you can bring back the earlier "Internal VSync" in Sub-frames menu; driver VSync technically has higher latency, but for now stability is the focus
  • syncing input frame to first-sub frame is added and also default; this removes the chromatic aberration-like effect where source frame was changed in-between subframes; also adds a tiny bit of latency and makes capture chop worse but results in more consistent image (can be disabled)
  • you can set GPU in Processing Menu; integrated GPUs will struggle to run the beam simulator at higher refresh rates so this will work best with a second discrete GPU
  • many threading logic changes, trying to get as consistent timing as possible

PLEASE PROVIDE FEEDBACK IN GITHUB DISCUSSION
#200

ShaderGlass v1.2.0-bfi-alpha1

10 Aug 02:12

Choose a tag to compare

Pre-release

This is an early experimental version of ShaderGlass adding BFI & Blur Busters CRT Beam Simulator shaders (all other shaders are removed so it's easier to work with). You can set Subframes in Output menu (should default to refresh rate / 60).

I'm really trying to test the waters if it will be feasible to do this in ShaderGlass since it's really detached from the video source and timing is very inconsistent resulting in flicker :/ But I was able to run these shaders successfully without flicker under certain conditions.

What "works on my machine":

  • borderless fullscreen games generally work, I've been mainly testing with Steam version of Quake and RimWorld, on 120 and 240Hz
  • my test rig is: 13600K, 5060Ti 16GB, 240Hz screen, Windows 11 24H2

What doesn't work:

  • general desktop or browser will have occasional stutter, this is low priority for me and might even be a lost cause
  • meaning things like Blur Busters web tests will stutter (move the mouse and there it goes...)

How to test:

  • make sure Use Flip Mode and Max Capture Rate are ticked in ShaderGlass (tbh jury is out if Flip Mode matters much)
  • start the game and overlay ShaderGlass with Ctrl+Shift+G as usual
  • if you see stutter, press Ctrl+Shift+A to toggle shader on/off (or whatever hotkey override you set); every time you change shaders ShaderGlass will try to re-sync and should eventually find a good sync with no stutter; this is the main trick I use and mechanism I will need to polish, I think it might also desync over time and require re-sync etc.
  • if you still see stutter, please try closing all other apps, changing any options in game or Windows etc. whatever you can think of that might influence this; also if you have multiple monitors, please try with just one

What I'm looking for is:

  • confirmation that you do see the desired effect, despite the flicker
  • it's possible to get it to work cleanly at least some of the time to justify further work on this

Update 11/08: please try disabling "Hardware-accelerated GPU scheduling" in Windows' graphics settings, this can significantly reduce flicker.

PLEASE POST FEEDBACK IN GITHUB DISCUSSION
#192

ShaderGlass v1.2.0

08 Aug 23:31

Choose a tag to compare

New major release of ShaderGlass. Changes since v1.1.4:

  • device capture input (webcam/capture card) - apply shaders over webcam or another PC/console using a USB capture card
  • improved "Capture Cursor" function now attempting to hide the original mouse cursor
  • ability to edit global hotkeys
  • new global hotkeys: Capture Cursor, Shader Active, Toggle Menu (also in fullscreen!)
  • added Sonkun's presets and shader library update
  • minor QoL tweaks and fixes

ShaderGlass v1.1.6 beta

02 Aug 03:38

Choose a tag to compare

Pre-release

Changes in v1.1.5 beta plus:

  • ability to edit global hotkeys
  • new global hotkey: Capture Cursor on/off
  • new global hotkey: Shader Active on/off
  • new global hotkey: Toggle Menu (allows bringing up menu even in fullscreen)
  • add Pixel Size slider and Parameters button to Shader Browser window
  • fix for dialog windows so they don't get covered behind main window

Not planning any more bigger changes for now, this will likely become v1.2 stable

Thank you for testing & feedback, much appreciated!

ShaderGlass v1.1.5 beta

23 Jul 07:19

Choose a tag to compare

Pre-release

New beta introducing two new features:

  • device capture input (webcam/capture card) - apply shaders on top of webcam or another PC/console using a USB capture card
  • when "Capture Cursor" is enabled in Glass mode, original mouse cursor will be hidden #10

Testing and feedback would be most appreciated - especially mouse cursor hiding has been tough since it requires full mouse emulation, extraction of pointer images, including those new colorful ones, DPI scaling etc. 😵‍💫 There might be cases where it won't apply but hopefully should be good enough.

Update 23/07: hotfixed mouse hiding not working on some multi-monitor setups

ShaderGlass v1.1.4

05 Jul 22:36

Choose a tag to compare

Minor bugfix release:

  • fix high-refresh capture (removes 65 fps limit)

ShaderGlass v1.1.3 beta

30 Jun 08:10

Choose a tag to compare

Pre-release

New beta release:

  • HDR support (Processing -> Advanced) by @EndlesslyFlowering
  • Allow running without Capture API (i.e. file input only); makes it possible to run under Wine (set Wine to use Vulkan renderer)
  • shader library update

Thanks everyone for testing, please report any feedback on HDR support under #121 !