Launched this week

SB-01: Pure GLSL Tourbillon
Where high mathematics meets digital haute horlogerie
18 followers
Where high mathematics meets digital haute horlogerie
18 followers
SB-01 is a pure mathematical digital art piece created by ST3PH-X to push the boundaries of modern WebGL and mobile graphics. Built entirely with raw GLSL shaders, Raymarching, and SDF geometry, this interactive experience renders a high-end conceptual mechanical watch in real-time — with zero external 3D models or heavy textures.




The raymarching approach with raw GLSL is genuinely impressive, especially how fluid the tourbillon stays on mobile. Love seeing something this technically ambitious lean into pure shader work instead of leaning on models.
@sedataltrkro1l Thank you so much! Moving away from traditional 3D meshes and relying strictly on pure mathematical functions was the biggest risk, but also the most rewarding part of this project. Modeling the tourbillon and all the micro-mechanical components directly in code allowed me to achieve infinite procedural resolution, which just wouldn't be possible with standard polygon assets. I’m incredibly happy that you noticed the fluidity on mobile hardware—optimizing the raymarching loops for smartphones was a massive challenge. Appreciate your wonderful support! 🕰️💻
the detail on the tourbillon is genuinely wild for something running as a shader, and it stayed smooth on my phone which i did not expect.
@muhammetbagqve Thank you so much, Muhammet! I’m absolutely thrilled that you appreciated the tourbillon! Modeling the rotating cage, the balance wheel, and the hairspring entirely through GLSL math functions without any traditional 3D meshes was a massive puzzle. Making all that complex orbital rotation physics run buttery smooth on mobile screens required a lot of deep optimization in the fragment shader. Your support means the world to me!
How does it hold up on mid-range phones since it's running raymarching in real time?
@yldzk88q Thanks for asking! Performance on mid-range devices was actually one of my primary benchmarks during development. Since the entire watch mechanism is built using optimized mathematical functions (SDFs) rather than traditional heavy 3D meshes, there is zero texture memory overhead.
I heavily code-golfed the GLSL equations and used spatial bounding boxes to terminate the raymarching loops as early as possible. As a result, the fragment shader keeps execution extremely lightweight per pixel, maintaining a smooth and stable 60 FPS on mid-tier mobile GPUs without draining the battery or overheating. Give it a try on your phone!
A sneak peek into the future: SB-02 Under Development! 🛠️👁️
For everyone closely watching the launch, I couldn't resist sharing a quick preview of my next-generation caliber.
If you look closely around the 11 o'clock position, you can see the newly modeled apertures and bridge plates built completely from scratch using math functions. These bridges are designed to hold the complex strike train for the upcoming quarter repeater mechanism!
Also, notice the dedicated sub-second dial at the bottom, operating on its own isolated mathematical loop.
We are just getting started today. Stay tuned, because I’ll be dropping a deep technical breakdown of how I’m engineering these mechanical repeater components inside a single GLSL fragment shader very soon! 🚀
As this Product Hunt launch day starts to wrap up, I just wanted to say a massive, heartfelt thank you to everyone. Seeing how this community embraced Steph-Watch SB-01, and reading all your brilliant questions about the escapement details, tourbillon optimization, and shader bridges... honestly, it gave me goosebumps. I’m still sitting here trying to process all this incredible energy.
But if I’m being completely honest, all this launch day noise, fighting for leaderboard ranks, and clever marketing tech-talk—it’s just the tip of the iceberg.
While I was locked in my code editor, packing this entire mechanical caliber into a single, solitary fragment shader, a very strange and almost eerie thought kept hitting me. Why am I doing this? Why spend days and nights forcing a GPU to crush millions of trigonometric functions per second just to make gears turn on a screen—gears that don't even physically exist?
And then it hit me. I’m just testing the limits. My own limits, the limits of the technology, and the boundary of how much of our physical reality can be compressed into a raw mathematical function.
And you know what? The deeper I went, the more I felt this bizarre sense of déjà vu. When you build an entire tangible universe from absolute scratch—with its own rules of time, light propagation, metallic friction, and moving hands—just by writing the laws of physics into a blank text file... you can’t help but wonder. What if the Creator of our own universe (or whoever engineered this specific version of our simulation) used the exact same approach?
What if our mountains, oceans, atoms, and the very perception of passing time are just some mind-bogglingly beautiful, infinite, code-golfed shader rendering right now on some cosmic GPU? And we are just living out our hardcoded loops inside it.
Anyway, I didn't mean to get too metaphysical, but this project truly forced me to see code as something sacred. It showed me that mathematics can feel alive.
Thank you again to every single person who shared this journey with me today. The direction is set, and I’m moving forward. SB-02 is already taking shape, and believe me, the math there is going to be even closer to building a pocket-sized universe.
Sending love to you all! 🕰️🖤
As promised, here is a deep technical breakdown of how the mechanical components around the 11 o'clock position are engineered inside the single fragment shader pipeline! 🛠️📐
Since everything in SB-02 is rendered with zero polygons using pure WebGL2 raymarching, modeling traditional horological elements like apertures and bridge plates requires precise constructive solid geometry (CSG):
1. The Apertures (Dial Cutouts): To expose the strike train underneath, I implemented a strict boolean subtraction operation. From the base dial disk SDF, I mathematically subtracted the complex geometry of the windows. The sharp edges are blended using smooth minimum functions (smin) to generate a realistic polished beveled edge (chamfer) instead of raw aliased pixels.
2. The Bridge Plates: The complex structural curved shapes of the bridges holding the repeater components are constructed by combining custom capsule primitives and rounded box SDFs through boolean unions, evaluated along an inverted polar coordinate space to contour perfectly with the main case.
3. Brushed Metal & Fasteners: The rivets are periodic spatial repetitions of sphere SDFs with micro-offsets. The high-end brushed steel finish on the plates is achieved via a custom high-frequency procedural noise function injected right into the Blinn-Phong lighting loops to mimic physical anisotropic micro-scratches stretching along the gear trains.
Would love to hear your thoughts on this GPU-only approach to micro-mechanics! What component should I model next? 🚀
the gear mechanism rendered purely in GLSL with raymarching is honestly wild, you can tell every component was thought through down to the escapement details
@fikriyevvsv Thank you so much! I'm absolutely thrilled that you noticed the escapement details! Capturing the soul of traditional Haute Horlogerie using pure mathematical functions was my main goal. Modeling the gear trains, the balance wheel, and the subtle mechanics of the escapement without any standard 3D meshes or textures took countless hours of tweaking equations to get the layout physically accurate. Knowing that clockwork enthusiasts and shader developers appreciate this level of micro-detail means everything to me!
@fikriyevvsv P.S. I accidentally clicked the LOL award because my screen refreshed, but I actually meant to give you the highest "Insightful" badge! Your question about the escapement details is honestly the best one today. Thank you so much for noticing that part! 🛠️✨