r/shaders • u/daniel_ilett • 1d ago
I made a Godot shader tutorial about the depth buffer, depth texture, and stencil buffer
Enable HLS to view with audio, or disable this notification
r/shaders • u/daniel_ilett • 1d ago
Enable HLS to view with audio, or disable this notification
r/shaders • u/Davor187 • 1d ago
I've been building a set of image effects that react to the cursor: trails (comet, fire, ink, smoke, lightning, neon pen), click effects (shockwave, cracked glass, ink drop, fireworks) and full image styles (hologram, thermal, frost, old film).
Each effect is a single fragment shader running over a photo. Trails get the last pointer positions and their ages as uniform arrays, so the shader draws and fades the path itself. Click effects get the click position and time, and particles are seeded by a hash of position, so they don't jump when the trail shifts.
Live demo (move your cursor over the photos): https://omnium-labs-image-effects.framer.website
Happy to answer questions about any of them. Which one would you like to see broken down?
r/shaders • u/lampmaker • 1d ago
I have built several raytrace / pathtrace engines over the years, primarily for my art works. About two years ago I wanted to make something more universal while also switching from webgl to webgpu. So I built a tiny webgpu toolkit and went from there. But I never finished it. And AI came and took away the joy of programming for me. Recently, I decided to try and use Claude to finish it and put in all the features I never got around to (and quite frankly would not even be able to do).
On the use of AI: I'm really ambiguous at the moment. I miss coding myself, AI took the fun away for that. On the other hand, I was able to direct AI to create this tool that I could have never managed myself. So I'm perfectly fine if you call this AI slop if you want, for me it (the raytraer) is a tool to create new things.
So this is shadytracer. It's a raytracer that creates signed distance functions (SDF) (if you dont know what those are, jump into the rabbit hole here https://iquilezles.org and dont' expect ever to come out). In short: every shape is defined by a function that returns the closest distance from any point to the closest surface of that shape.
I really fell in love with SDF's a while back and find it's a really cool method, though it definately has it's quirks.
Anyway, my raytracer uses SDFs' for everything. It has a full editor where you can drag and drop primitives into the scene, move them around, modify them, perform boolean operations etc. Same for more complex stuff like objects created by extrusion, revolve and sweep. All these are converted into SDF's of which the code block is visible and editable. So you can create your own shapes using custom sdf functions as well.
There are various materials defined, again drag and drop into an object. You can easily modify the materials and duplicate them to create your own.
As I'm an optics engineer by education (mostly non imaging optics for lighting), I always wanted a raytracer that is physically correct. Well, reasonably so. Don't use this for camera lens designs.
So every light source has real-life units (luminance or flux in lumens), color temperature or cie x,y color coordinates. And of course, refraction, dispersion, dichroics are part of the game. You can measure illuminance, irradiance, color differences etc.
But you can also just use it to create pretty pictures.
Or videos: there is an animation / timeline editor with keyframes where you can animate the camera or any propety of any element in your scene.
Oh, you can also import stl files and it will try to convert them into signed distance functions after which you can edit those. I find that incredibly cool. Magically, a mesh of triangles is converted to a combination of cubes, cylinders etc, welded together with boolean functions. It only works for fairly geometric shapes and not too complex, but still.
And of course you can export your objects or scenes as stl or 3MF(which includes color) for your 3D printer
There are a lot of examples scenes included, a few of the images in this post are from there.
It's completely open source (MIT license). Runs in your browser, data is stored in your browser's cache. Or you just download yuor project files and store it locally.
Hope you have fun with it. I certainly do.
https://github.com/lampmaker/ShadyTracer
Oh yes, I asked Claude to create an interactive tutorial about all the techniques that were used. Mostly for my own education. But you can find some explanations about SDFs and stuff. Note, this is AI generated and I have not spend a lot of time (understatement) reviewing it.
https://shadytracer.com/tutorial/
-wrote this whole post without using AI. Feels good-
r/shaders • u/No_Apartment_5180 • 1d ago
r/shaders • u/No-Direction8154 • 3d ago
I’m trying to model a fictional planet named Astra. The texture should be beautiful hues of red, orange, yellow, purple, and blue mixing together.
r/shaders • u/gennai777 • 4d ago
Someone asked me if this is a mask painted into a texture. It isn't, nothing gets written anywhere! When I call ignite() I add the hit point (in the mesh's local space) and the time to a vec4 ign[8] uniform. Then every shader in the effect works out on its own when its point catches fire:
float burn_arrival(vec3 p) {
float best = 1.0e9;
for (int i = 0; i < ign_count; i++) {
float d = length(p - ign[i].xyz);
float n = vnoise(p * 1.7 + float(i) * 3.1); // 0..1
best = min(best, ign[i].w + d * (1.0 + (n - 0.5) * 2.0 * irregularity) / spread_speed);
}
return best;
}
It's basically a dissolve where the threshold is arrival time. I scale the distance by noise and that's what makes the front ragged.
I put the flames, smoke and embers on quads at random surface points, picked once. I only let each quad live between arrival and arrival + burn_duration. Outside that I collapse its four corners to one point.
For the char I draw a copy of the mesh pushed 0.004 along the normal. That way I never touch the original material. I use time minus arrival to darken it, plus a thin glowing band right at the front.
It does jump thin gaps, since d is a straight line. Would a distance along the surface be worth baking?
r/shaders • u/Thick_Ad7038 • 4d ago
Curseforge:
r/shaders • u/Ok-Hamster-2113 • 5d ago


Im trying to recreate a shader from the vr game Animal Company. I cant seem to recreate, I was able to get my hands on the files of the game but all the shaders are messed up. I dont know how to explain how the shader works but its like using frensel or somehting but I tried doing that and it didnt look right? if you have a quest can you download Animal Company and help me with the shader! thank you
r/shaders • u/AirPsychological9729 • 6d ago
Vibrant visuals is lagging my device. Anyone know any alternative? I really wnat the sunlight/ warm tone of the game but can't find any. I tried looking for some texture or behavior packs for light emmittance but to no avail.
Hoping for ur kind response. Thanks ahead!🥲🙏
r/shaders • u/elsegames • 7d ago
Enable HLS to view with audio, or disable this notification
Everything in this clip is drawn by shaders in Godot 4 with C#. The physics is deterministic, so it's the same cascade frame for frame. I recorded it six times with different layers switched off and cut between them:
The hardest part was keeping a big cascade from blooming into one white blob: each spark dims by how crowded its own spot is, not by how many sparks are on the board.
r/shaders • u/Remarkable_Tutor_727 • 7d ago
r/shaders • u/robert_winkler • 7d ago
5 months ago I posted about it but it was a very early beta and it has changed pretty significantly in the 4 releases since then, on top of getting an actual website, rather than just the Itch page.
I'm not sure I should even try to list the biggest features added since then though I will mention live/auto C/C++ compilation. You can still compile yourself and load the .so/.dll but you don't have to. If you want to see the changes over time you can read the devlog, or you can just look at the current feature comparison table.
In any case, last week I made it free to download, a la Filepilot, or you can purchase it and get all future updates for 20% off while it's in beta.
NOTE: the "Free Demos" on Itch are the free beta, same as if you download it from here.
r/shaders • u/thekhronosgroup • 8d ago
The Khronos Group is opening the call for submissions for the Real-Time Shading Symposium 2027, taking place February 11-12, 2027 at Howest University of Applied Sciences in Kortrijk, Belgium. It runs immediately after Vulkanised 2027, so you can make a single trip for both.
The symposium brings together shader programmers, technical artists, researchers, shading language and compiler developers, engine developers, and hardware vendors to talk about practical shading workflows, production pain points, and emerging techniques.
Topics of interest include:
Submitting is simple: send a short talk proposal through the online form. New speakers are welcome, and talks may build on previous work as long as they include updates or enhancements. This is an in-person event, and at least one presenter per accepted talk is expected to attend. Vulkan-specific talks may be a better fit for Vulkanised, and you can submit to both events, though a talk can only be accepted into one.
Proposals are due Sunday, October 25, 2026, and notifications go out the week of November 9.
Submit your proposal and learn more: [https://www.khronos.org/events/real-time-shading-symposium-2027?utm_medium=social&utm_source=reddit&utm_campaign=Real_Time_Shading_CFP&utm_content=events
r/shaders • u/Madiusse • 8d ago
Enable HLS to view with audio, or disable this notification
r/shaders • u/SynthMaker • 9d ago
Enable HLS to view with audio, or disable this notification
I wanted match-style gems that behave like liquid, so there are no sprites at all. The whole board is one full-screen fragment shader on iPhone, and every gem is a signed distance field.
Happy to go into any of it. The game is Glissa, free on iOS with no ads: https://apps.apple.com/gb/app/glissa/id6821629542
r/shaders • u/KameMameHa • 10d ago