I am looking for fresh, out-of-the-box retro shader ideas to implement.
Please keep suggestions completely away from :
CRT emulations, scanlines, or shadow/aperture masks.
Over-smoothing, blurring, or vectorizing effects.
Anti-aliasing or de-dithering (keeping the jagged, raw pixel aesthetic is preferred).
Looking for unique artistic styles, experimental graphic concepts, or alternative visual effects that can be brought to life through code. What are your ideas?
I suggest looking into some artistic/transformative image and film editing techniques and make shaders for them. Just yesterday I got this request for a hue isolation technique: https://github.com/libretro/common-shaders/issues/172
EDIT: we can always use different deinterlacing techniques, different kinds of motionblur and anti-aliasing.
Thank you for the great idea! As someone who deeply loves hand sewing and stitches, I truly appreciate your suggestion, and I’ll start thinking about how to implement it.
EDIT: Thinking about how to approach an embroidery shader it’s definitely an interesting challenge! The core approach would likely involve breaking the image down into a cross-stitch grid, applying a procedural woven fabric base, and using a directional pseudo-normal map to give individual threads that physical raised texture and light sheen
Thank you so much for your help and contribution! Since I’ve just finished working on the Noir, Gothic, and analog film shaders, I’m thinking of working on a really cool Color Pop shader next based on your suggestion.
EDIT: Implementing a Color Pop shader isn’t necessarily a walk in the park, but the core logic is manageable. It requires a calculated approach to selective desaturation—isolating the red channel using precise hue and threshold parameters—and optionally layering a subtle, understated bloom or halation to tie the aesthetic together.
EDIT2: This is a simple experimental color pop shader.
Yes, exactly! I am simply looking for fresh concepts to bring to life. What is the issue with asking for ideas, or with us contributing and helping each other out? The whole point of a community is collaboration. Some people have amazing artistic visions but might not have the time or means to implement them, and I’d love to help make those ideas a reality for everyone to enjoy
A shader that makes everything look hand drawn like Kirby 3 on the SNES (and it somewhat shifts every half a second to complete the effect
A shader that makes games entirely orange-cyanish so it looks like that 2000s aesthetic (ridge racer 4, jet set radio future)
A shader that makes the game screen kinda get pumped when a deep bass note hits so games look like visualizers (this is gonna go crazy in the streets of rage 1 opening)
A shader that somehow makes the prerendered backgrounds in Ocarina of Time not look prerendered
A shader that simulates an acid trip
Stupid ideas
A shader that simulates the shitass passive matrix little LCD screen you’d strap to the top of the game cube for trips
A shader that turns every pixel into a Minecraft texture
A shader that detects text and replaces it with Minecraft enchantment table language
A shader that simulates heavy RF interference and you can almost somewhat see a TV channel invading your game
REALLY stupid ideas
A shader that finds the brightest pixels on the screen and gives them comical halation so it looks like you’re having a migraine
A shader that makes the entire image blue paired with an audio plugin that vocodes the games’ audio in real time to “Blue” by Eiffel 65
A shader that’s just Bad Apple but you can only see the game through the black pixels
Thanks for the suggestions! I’ll look into how to apply some of them, but after organizing the dozens of shaders I’ve created to release them first
Take a look at my repository, you’ll find a lot of effects there, but I still have dozens more that I’ll release after organizing them.
Note that many of the shaders also require custom tuning/tweaks. Since I’m on Android, I code them in GLSL version 110, but I might convert them to Slang in the future.
I totally get your point. Initially, I set technical boundaries so my shaders could run on weaker devices because most Slang shaders do not run well or at all on older hardware, and phones would freeze for ten seconds just opening a game with Slang and a shader.
The good news is that I am seriously considering switching to Slang very soon, though it will take a little time since my shaders are in the hundreds. Another reason I preferred GLSL is that its shader library became old and limited, so I decided to build a new library for it. It is pretty much like someone who loves Windows 7 now and does everything they can to save it.
Update: My repository has been updated, and Slang versions have been added!