Shader-like holographic effects with CSS
robbowen.digital
robbowen.digital
Having said that, it is an excellent use of it - well applied, and the explanation is solid!
Check out perceptually uniform color maps:
The SVG is just the spectral map. We're using its native possibilites to pull off some other crazy wild hare of an idea to do things that other image compositing programs do, but in a browser. I'm way way outside a box here, but that's where I prefer to play. This is one of those things where I'm taking an idea that someone developed with a specific idea, but I'm jerking the wheel hard left to suggest something zanny just because it might be interesting and cool. Following directions and creator's intent is boring ;-)
unfortunately the dynamic displacement mapping is not very performant and this technique is hard to pull off on mobile devices
[0] https://redstapler.co/realistic-water-effect-svg-turbulence-...
I can confirm it works on android
> iOS Safari is reported to not support multiple background-blend-modes
Since iOS Chrome is really just an iOS Safari webview, that means it won't work there either.
If you did it in photoshop, you can't alter the image based on where it is in the viewport. Doing it in this CSS way, the image subtly changes as it scrolls past (particularly the bloom to the right covering someone's head).
CSS doesn't get enough recognition but it really is a very powerful tool. Yes, performance is an issue but running canvas at 60 FPS isn't exactly cheap either. Fans will be spun
Surely one exists as they're a very common tool across Photoshop and now web, but is just swamped by the people repeating the basic instructions.
Feels like an explanation might need to split between various tasks but focus on the fact that you are changing each pixel by different amounts. The confusing thing is that the choice of which pixel to change, and how to change it, is a combination of the source images and the blend mode.
[1] https://meyerweb.com/eric/css/edge/complexspiral/glassy.html
javascript:(function(){ let i, elements = document.querySelectorAll('body *'); for (i = 0; i < elements.length; i++) { if(getComputedStyle(elements[i]).position === 'fixed' || getComputedStyle(elements[i]).position === 'sticky'){ elements[i].parentNode.removeChild(elements[i]); } } window.history.replaceState( {} , document.title, location.href+'#cleaned')})()At one point, this was available by default, but no longer.
ps. we'll surely wake up tomorrow to holographically-authentic-NFTs all over the place!
But every now and then someone uses blend modes to their fullest potential and I get all fuzzy inside.
Ill never have use, but I can't wait to see this in the wild.
One thought: FORCE any site that uses this to not be behind a cookie paywall ;-)