I am on a $3k Macbook and scrolling on shaders.com yielded a few frames of blank screen jank before the rest of the page rendered. This is unacceptable performance for serious websites, but I appreciate the new heights that webshit attains each year.
The history of Web 3D APIs since their inception, regardless of the platform.
As the websites have no control what the browser does, it is a guessing game on how they actually perform on the client side, versus native applications that can work around possible bugs or various kinds of available hardware.
Professional looking product / page. However, the shaders themselves are extremely odd. They're just swirling patterns. I think the creator of this would do well to look at games for inspiration. Games use shaders for all sorts of effects, for a reason.
In particular, I'd expect there to be shaders making use of textures. I was expecting buttons with a laser finished metallic look that actually changes with lighting on the page. Or hero images that combine photography with masks to produce interesting effects highlighting products with auras etc. These all appear to be screensavers.
I appreciate that React & Co. have established it as a standard. I've used A-Frame lately, which lets you build WebVR components, and even there you declare your scene as
and I feel this is getting a bit much. Wouldn't it be better to have a JS API that lets you define objects and properties and compose your shader / scene etc. programmatically? (I've seen that Shaders offers that too — just asking in principle.)
It would be nice to (additionally) be able to load json in html without javascript (I am aware it is js object notation) for the same data. This way you could see it in a clean data structure and not serialized. Maybe using https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/... or similar?
Personally I don't mind it, but would say the main advantages offered by JSX for this kind of work (see: React Three Fiber) are more in its ease of composition and structuring larger projects.
Often in R3F projects you'll end up running per frame animations via the normal declarative property API in the useFrame hook anyway, as adjusting props in a loop is not great for performance. The JSX instead becomes a way to easily understand the hierarchy and nesting of objects, as well as quickly mount/unmount new elements.
When you want to so something visually intensive, its a much less computationally intense to use shaders than do everything in vanilla JS, so you can get faster render times or realtime performance.
for example I was playing around with visualizations of Turing patterns and Drost images.
If the demos don't work, your browser works as it should because it is blocking third-party cookies and the site does not serve valid CORS headers for ev.shaders.com.
The overuse of abstract decorative shaders is a great example of where LLMs work well to implement a previously niche and inaccessible form of programming where the results can be imperfect yet good enough and then easily fine-tuned with dials by a non-expert.
These are the new signature of an LLM generated SaaS product landing page, bonus points for the visualization subtly changing based on your mouse position.
I hate aislop as much as the next graybears but beauty and design matters, and just as important is respecting, if not understanding, that subjective nature of it.
CPU and GPU in the service of visuals are far more well spent than bombing and spying on people, for example
I do love shaders, but not on my web pages where I usually just want to read some text.
Sites with these things inevitably turn into a massive jank fest unless you're running the latest supercomputer, and even then that can sometimes not be enough.
As the websites have no control what the browser does, it is a guessing game on how they actually perform on the client side, versus native applications that can work around possible bugs or various kinds of available hardware.
In particular, I'd expect there to be shaders making use of textures. I was expecting buttons with a laser finished metallic look that actually changes with lighting on the page. Or hero images that combine photography with masks to produce interesting effects highlighting products with auras etc. These all appear to be screensavers.
With a repo who's initial commit was a week ago?
Often in R3F projects you'll end up running per frame animations via the normal declarative property API in the useFrame hook anyway, as adjusting props in a loop is not great for performance. The JSX instead becomes a way to easily understand the hierarchy and nesting of objects, as well as quickly mount/unmount new elements.
All of this could have been avoided had we just gotten a "good job" and a pat on the back when we showed our jquery scripts!
Jokes aside, looks impressive!
I am on linux/chrome and it still isn't enabled by default yet.
These are the new signature of an LLM generated SaaS product landing page, bonus points for the visualization subtly changing based on your mouse position.
CPU and GPU in the service of visuals are far more well spent than bombing and spying on people, for example
... thank you for not caring about my battery.
Sites with these things inevitably turn into a massive jank fest unless you're running the latest supercomputer, and even then that can sometimes not be enough.
So, in theory, nothing is stopping you from recreating them from scratch.