Transform-ER is a live showcase of procedural, meshless 3D morphing at stable 60 FPS on GPU. Written entirely in raw, hand-crafted GLSL shaders using Signed Distance Fields (SDF) and raymarching, it requires zero external libraries like Three.js and zero heavy 3D assets. Built inside Google Cloud Shell, it demonstrates hyper-efficient, mobile-first PBR rendering and seamless structural transformations driven purely by real-time mathematics.
No reviews yetBe the first to leave a review for Transform-ER
Maker
📌
Hi Product Hunt! 👋 I am Stephaniia, a Low-Level Graphics Engineer.
This demo isn't just an optimization trick — it’s a living blueprint for the future of hyper-premium web architecture.
Two important facts about how Transform-ER was engineered:
1. Mathematical Scalability: Replicating an exact, real-world commercial model wasn't the primary goal here, but with precise vector coordinates, this pure-math architecture can scale to any complexity.
2. Execution Speed: The complete core logic, timing matrices, and interpolation formulas for this entire live environment took just 2 hours of pure, focused coding.
The Philosophy:
If a Web3 project, interactive dashboard, or high-end product promo cannot load in 0.1s and hold a stable 60 FPS on weak mobile devices, the engineering has failed. Millions are wasted on bloated bundles.
I build with a strict, low-overhead engineering mindset. No corporate fluff. No endless Zoom calls. Just clean, independent development, precise text-driven specs, and raw GPU performance.
The live link is up. Open it, rotate it, test the performance on your oldest phone, and let me know your thoughts on the math in the comments!
(For deep technical discussions, shader architecture breakdowns, or architectural inquiries, you can reach out directly via the contacts on my website).
Report
How are you handling performance on lower-end mobile devices when the SDF complexity ramps up during those mid-morph transitions? Curious if there's a fallback path or LOD strategy built into the shader pipeline.
Report
Maker
@sleyman544815 That’s a brilliant question! Mid-morph transitions are indeed the most critical parts because smooth minimum functions (smin) or mixing complex SDFs can easily double the math complexity and cause raymarching to drag down performance.
To handle this on lower-end mobile devices without a true dynamic fallback pipeline (since it's a single raw shader), I implemented a few strict optimization strategies:
1. Bounded Morphing Areas: The intense blending mathematics only trigger within a strict spatial bounding volume. Rays that miss the bounding area skip the complex morphing logic entirely.
2. Distance-Based Step Throttling (Fake LOD): While there's no mesh to swap, I use a distance-based step strategy. As the camera moves further away, the epsilon (surface tolerance) increases dynamically, and the maximum raymarching step count drops. This acts as a shader-level LOD.
3. Optimized Normal Calculations: Normal estimation via finite differences is extremely heavy during morphs. I optimized it by reusing distance field samples from the marching loop where possible, cutting down unnecessary SDF evaluations right at the transition phase.
Thanks for asking such a tech-savvy question!
Report
Runs smooth on my phone which i did not expect from raymarching, and the way one shape flows into another is genuinely mesmerizing
Report
Maker
@boran0uq6 Thank you so much! Hearing that it runs smooth on your phone means a lot, as making raymarching mobile-friendly took quite a bit of optimization work. I’m super glad you enjoyed the morphing transitions — keeping them organic and mesmerizing was exactly the goal. Appreciate the support!
Report
Honestly thought this would chug on my phone but the morphing stays buttery smooth. The fact that it is just raw shaders doing all that work is kind of wild.
Report
Maker
@nurignf Thank you so much! Optimization was one of the biggest challenges here. Raymarching on mobile can be heavy, so I spent a lot of time fine-tuning the code and simplifying the SDF mathematics to ensure it stays buttery smooth even on smartphones. Glad you appreciated the raw shader approach!
Report
💎 Pixel perfection
Hand-crafted GLSL with no external libraries is genuinely impressive, and hitting a stable 60 FPS on pure raymarched SDFs is the kind of craft most shader folks only dream about.
Report
Maker
@aydnocakl2cb Wow, thank you for such high praise! Coming from someone who understands the complexity of shader development, this means the world to me. Keeping a stable 60 FPS while raymarching pure SDFs required a lot of aggressive refactoring, sacrificing heavy operations, and structuring the math just right for the GPU pipeline. It was a real challenge, but comments like yours make all that code-golfing and optimization completely worth it. Thanks for the massive support!
How are you handling performance on lower-end mobile devices when the SDF complexity ramps up during those mid-morph transitions? Curious if there's a fallback path or LOD strategy built into the shader pipeline.
@sleyman544815 That’s a brilliant question! Mid-morph transitions are indeed the most critical parts because smooth minimum functions (smin) or mixing complex SDFs can easily double the math complexity and cause raymarching to drag down performance.
To handle this on lower-end mobile devices without a true dynamic fallback pipeline (since it's a single raw shader), I implemented a few strict optimization strategies:
1. Bounded Morphing Areas: The intense blending mathematics only trigger within a strict spatial bounding volume. Rays that miss the bounding area skip the complex morphing logic entirely.
2. Distance-Based Step Throttling (Fake LOD): While there's no mesh to swap, I use a distance-based step strategy. As the camera moves further away, the epsilon (surface tolerance) increases dynamically, and the maximum raymarching step count drops. This acts as a shader-level LOD.
3. Optimized Normal Calculations: Normal estimation via finite differences is extremely heavy during morphs. I optimized it by reusing distance field samples from the marching loop where possible, cutting down unnecessary SDF evaluations right at the transition phase.
Thanks for asking such a tech-savvy question!
Runs smooth on my phone which i did not expect from raymarching, and the way one shape flows into another is genuinely mesmerizing
@boran0uq6 Thank you so much! Hearing that it runs smooth on your phone means a lot, as making raymarching mobile-friendly took quite a bit of optimization work. I’m super glad you enjoyed the morphing transitions — keeping them organic and mesmerizing was exactly the goal. Appreciate the support!
Honestly thought this would chug on my phone but the morphing stays buttery smooth. The fact that it is just raw shaders doing all that work is kind of wild.
@nurignf Thank you so much! Optimization was one of the biggest challenges here. Raymarching on mobile can be heavy, so I spent a lot of time fine-tuning the code and simplifying the SDF mathematics to ensure it stays buttery smooth even on smartphones. Glad you appreciated the raw shader approach!
Hand-crafted GLSL with no external libraries is genuinely impressive, and hitting a stable 60 FPS on pure raymarched SDFs is the kind of craft most shader folks only dream about.
@aydnocakl2cb Wow, thank you for such high praise! Coming from someone who understands the complexity of shader development, this means the world to me. Keeping a stable 60 FPS while raymarching pure SDFs required a lot of aggressive refactoring, sacrificing heavy operations, and structuring the math just right for the GPU pipeline. It was a real challenge, but comments like yours make all that code-golfing and optimization completely worth it. Thanks for the massive support!