A downloadable tool for Windows

ShaderGlass

Overlay applying retro shaders on top of Windows desktop

Features

  • applies shader effects on top of any window on the desktop in realtime
  • includes 800+ shaders from RetroArch library covering:
    • CRT monitor simulation
    • image upscaling
    • TV / VHS simulation
    • softening, denoising, blur and sharpen
  • works with most emulators and retro platforms (in windowed/borderless modes) including DOSBox FS-UAE Altirra ScummVM AGS any many more
  • you can even use it on top of YouTube or Twitch, albeit with some option tuning necessary to clean up video scaling
  • works with OBS (in Game Capture mode)


Check out README and FAQ for detailed instructions.

Source code on GitHub.


New in v1.0.2 (21 Feb 2025):

  • refresh of RetroArch shader library
  • back-end extensions to support more complex shaders (MegaBezel)
  • improved fullscreen with letterboxing and aspect ratio preservation
  • quick access to Recent Profiles from menu
  • FPS display in title bar
  • selection of best shaders in Browser window
  • bug fixes

New in v1.0.7 (BETA):

  • ability to import .slangp/.slang shaders on the fly
  • shader library refresh: added koko-aio and retro-crisis
  • ability to tag personal favorites
  • new frame timing mechanism
  • advanced menu with DXGI settings
  • option to save window position
  • option to crop input window
  • option for vertical orientation
  • 100% FPS now default with option to remember
Updated 2 days ago
StatusReleased
CategoryTool
PlatformsWindows
Rating
Rated 4.9 out of 5 stars
(158 total ratings)
Authormausimus
TagsEmulator, Retro, Shaders
Code licenseGNU General Public License v3.0 (GPL)
LinksSource code

Download

Download
ShaderGlass-1.0.2-win-x64.zip 33 MB
Download
ShaderGlass-1.0.7-beta-win-x64.zip 44 MB

Development log

Comments

Log in with itch.io to leave a comment.

Viewing most recent comments 1 to 40 of 108 · Next page · Last page

how to create your own .slang shader? I just want to place my own translucent png picture on my screen. Where's the freaking guide for normal people, not for crazy programmists?

Could we possibly include this shader pack in the upcoming release? https://github.com/CyberLabSystems/CyberLab-Mega-Bezel-Death-To-Pixels-Shader-Pr...


Whenever I attempt to manually add any of them, I encounter an error. thanks btw.

(1 edit)

Ok I see the problem, SG is getting bit confused with the paths. Will fix but will also try to include them since compile times on MBZ derivatives are brutal.
Update: actually it's over 2000 presets, not sure I can include all of them, so will at least make sure you can import.

Could you try 1.0.7, please? I fixed the paths problem and also added caching to speed up compilation of MBZ-derivatives. I can import CyberLab shaders now (you need to install them in RA first and then import from RA's directory, as they depend on other shaders there)

I'm having trouble with importing .slang shaders. When I import a shader the "Compiling Shader" window comes up, but I never get past that stage. I've only imported 1 or 2 correctly.  I'm downloading the shaders below from the Themaister's slang-shaders. Is there a way to know which shaders will import successfully, and which to stay away from?

(+1)

* This is a very old repo, slang shaders have moved to libretro/slang-shaders

* This warp shader is already included in ShaderGlass, under RetroArch Library / warp category

* I tried all these three old ones nevertheless and they all imported fine for me, if you're still having trouble can you post a link directly to a .slangp or .slang which causes the hang, please; if a shader fails to compile there should be an error message so I will double-check that

Thanks for the quick response! Here is a link to 3 shaders that aren't working for me: https://github.com/libretro/slang-shaders/tree/master/warp/shaders. I know most of the shaders in this repo are already in the RetroArch library but right now I'm just fiddling with the import tool to see if I can get it to work. 

Is there any info I can provide you to help with the troubleshooting?

(1 edit) (+1)

Will it be available on linux in the near future?, i tried running it with wine but didn't work, it closed in a instant.

Is it also planned an injector mode through fake dll loading like SweetFx...?

I wish there was a way to just drop a pair of files next to the game.exe to play with shaders applied (just like SweetFx did), launched as usual from GOG/Steam etc. No need of .bat scripts or launching it separately before/after the game is running... 

(1 edit)

I am trying to play Spore through it but i need mouse to control the game.
So the game is in 1024x768 and shaderglass is in 200% scale with clone mode. Is there a way to completely lock focus (with mouse) on the game an also see in game cursor?
So far i only found that i can use click-through and capture cursor options but that shows me two cursors on the screen and its easy to lose the mouse :(

I suspect you're playing windowed mode rather than fullscreen to avoid yellow border? Mouse lock will depend on the game unfortunately, if the game doesn't have such option there are tools out there that can do it, please look around.

This software is amazing!!! Is there any way to get this to work through discord streaming with sound? The overlay seems to be completely invisible when sharing a whole screen and if I stream the software itself, theres no sound :(

Not in "glass" mode, but if you set ShaderGlass' input to a specific window or a file ("clone" mode) it should show in capture.

(+1)

amazing job <3

This is amazing! Please add the crt-hylian-curvature preset, that one is great too.

How do I add shaders to the favorites list? Is it not user-editable?

This is so awesome. This is one of our videos which we always upload in clear pixel and in black and white. With this anyone can turn it into the real deal again if wanted!

I finally found this again

Good idea! I think it's a very good game tool. And there's a screenshot of this comment:

Playing Retroarch, I was thinking, so many great shaders, can't they be integrated into other things? Not just realtime too... is there no way to load them into other software like AE (fk adobe) or Davinci Resolve, Hitfilm, etc?

This is a good step though. Thank you.

(+1)

Just wanted to say that I grew up with CRTs and have always used shaders in Retroarch.  This program is absolutely incredible and has blown my mind at the potential it has.  There are a few things that I'd love to see fixed in the next version - Preset parameters seem to default back upon loading, would be nice if they didn't.  The yellow boarder solution isn't optimal if you have two monitors with different resolutions, it renders the clone feature essentially worthless (IE 1440p and 4k).  The hotkeys just don't seem to work in any mode, would be nice if we could bind them to buttons of our choosing such as F1-F10.  Lastly, implementing HDR support would get us shaders like the Retro Crisis ones which are in another league.  Ty again for all your hard work, it is appreciated!

Love this tool and how simple it is to use! Is there any way I can use it to record gifs? My plan is to apply these shader effects to some gifs I already have.

(+1)

Thanks! There's no built-in way but if you play your .gif and use Input -> Window in ShaderGlass you can use ScreenToGif or OBS to capture the output.

Alright, I'll try it out, thanks for the help!

Hello, I'm actually trying to record a window as a gif, but screen to gif only captures the gif as normal, without any filter. Your work is beyond amazing and I really want to employ it in my favorite images/gifs, it'd be great!

Use "Clone" mode in SG

I just discovered this man, its awesome. Is there a way I can run it on an android handheld? I would like to play this on the go

Is it possible (or any plans to make it possible) to have this work above 60fps? When I output at 100 (Vsync) for FPS, it seems to be capped at 65fps.

I'm experiencing the same approx. 65fps limit. I see another user has previously mentioned the blur-busters CRT Beam-simulator algorithm - to function this is essentially inserting additional frames (similar to black frame insertion but more sophisticated) to facilitate a reduction in motion blur. Although some of these shaders seem to have made their way into the app through the retroarch library, I'm not sure that they function in the current beta as intended.

Additionally I understand some of these CRT shaders require additional steps such as phosphor masks. I'm very impressed for example by the death to pixels presets: Cyberlab death to pixels

Some of the best screenshots within that set of presets have really beautiful RGB 'sub-pixel' layouts that I believe requires additional steps.

(2 edits) (-1)

I might just be using it wrong but it appears crt-guest-advanced-ntsc (my personal favorite) doesn't appear to be working correctly, at least on the ares emulator. I've tried to mess with pixel scaling but it only made it look worse. Top image is ares'  default librashader implementation and bottom is shaderglass with (I'm pretty sure) default settings. (Open the images in a new tab)

ares shader default

Shaderglass default

Hey, I've compared this shader with my reference (RetroArch) and it's working exactly the same. For best results make sure to (a) have integer scaling output in your emulator with no aspect correction (aspect ratio correct in ShaderGlass if you need to), (b) set Pixel Size in ShaderGlass to the factor of integer scaling you have in the emulator (c) set FPS to 100% since this shader relies on flicker.

Thanks for the advice but it still doesn't seem to be working for me. This is with pixel scaling set to 6x (240 -> 1440), integer scaling on, 100% fps. Top is retroarch, bottom is shaderglass. (Images had to be a bit compressed but you can still see the difference.) Thanks in advance.

Hm, could you export the original unprocessed image? I'll see if it looks the same (kinda blurrier than RA) for me.

(6 edits)

I'm not entirely sure what you mean but I have the original images here.

 https://ibb.co/zTQ3Rp8S

https://ibb.co/n8PGZKkG

Thank you for your patience.

Sorry I meant the Mario screenshot without any shaders applied, I will try to process it on my side and compare.

(1 edit)

I'm loving this so far!

Am having an issue with Steam games however. I set ShaderGlass to Fullscreen, then click in the game (which is also Fullscreen) and my computer goes into the steam game Fullscreen, bypassing the ShaderGlass. Any tips? 

Thanks, try putting game into borderless fullscreen first, then press Ctrl+Shift+G (it's global shortcut) to make ShaderGlass fullscreen on top without the game noticing, should work most of the time. Alternative is to run game in windowed mode, set Input -> Window in ShaderGlass, switch to game window to give it focus, and finally Ctrl+Shift+G to make ShaderGlass fullscreen.

(-1)

It just give me Error: (0xc0000481)

I run Windows 8.1 with NVidia Driver Version: 30.0.14.7362

If you need me to provide any more System Infos, please let me know.

This is amazing, and I have been asking for something like this for ages. My only minor gripe is that there doesn't seem to be any support for Retroarch video and audio filters, which would make this perfect. If I could run CRTGuest, a good NTSC filter, and an RF audio filter, this would be nigh perfect. Even without audio filters, if possible, please look into video filters. 

And I do realize that some shaders include basic NTSC filtering, but they're not remotely as good as the RetroCrisis NTSC filters. 

Impressive! I like this! I will try this on some new-genre Fighting games and see what happens!

(+2)

Fantastic, I heard about this from Video Game Esoteric.  Thanks for your hard work.

Looks amazing, cant wait to try it out! Thanks a lot man!

Did you leave her for free? !!! My respect for you

Nice! Now I just need something to make my audio sound like ass and I can relive my childhood

This is amazing. I was thinking about making something like this to distort my screen a little bit to help with my eyes strain while at work but didn't know what to do past a certain point. Is there a shader that is just like noise? I couldn't find one.

This is great, and just what I've been looking for thank you for making this! I hope to see in a future version the ability to save/load shader parameter settings as a new shader to use, and/or the ability to insert downloaded retroarch shaders. Thank you again!!

Thank you so much! You can already save shader parameters as profile files and load them. Ability to load new shaders is on the list.

(+2)

Cool.
Too bad I just officially ditched Windows for Linux this past weekend XD

Very awesome, I'm going to use this all the time!

This is one of the greatest programs I've seen in years, brought back a lot of memories playing Atari and NES on some janky TV's!

This is my new favorite thing. Thank you for doing this! Also +1 for CRT Beam Simulator. 

would it be possible to make a version that uses something other than windows capture api? i love the program but the yellow borders on windows 10 ruin it for me

Thank you!

(+4)(-1)

Woaw, well done, it's fantastic ... it had to ask for a sick work to do a like that ...
But ... the majority of Retro Gaming machines and systems are under Linux !!
Can we hope for a linux port of this project with OpenGL or rather Vulkan? It would be a madness ...
Thank you

First you blew my mind with RVX... now this! OMG, keep 'em coming man! This is awesome!

It would be awesome if it were possible to use all the shaders that can be used in RetroArch, like sonkun, retro crisis and others.

(+3)

Can you import https://github.com/blurbusters/crt-beam-simulator ? By any chance, so you can use it on top of any game?

This supposedly helps in Motion Clarity and maybe- Latency.. But still wish the yellow border could be somehow disabled on win10...  :(

(+3)

I discovered something cool about this. you can inject reshade into the exe of this and run both at once with hardly any use of cpu/gpu use. super cool!

(+2)

Fantastic, I guess I should put together a ReshadeGlass :)

Viewing most recent comments 1 to 40 of 108 · Next page · Last page