Hi, I’m the author of the article. Thanks for the feedback.
I cleaned up the shader code to make it easier to read/follow. If anything’s still unclear, feel free to comment on the post and I’ll try to clarify.
As someone who has seen this effect before, but was unclear how it was done, this article is very "and now draw the rest of the owl". They define a basic equation, it's about what I expected, but the end shader code doesn't use it in that form, and I found it pretty difficult to parse, I can't say I'm much better off in the end.
Hi, I’m the author of the article. Thanks for the feedback.
I’ve pushed an update to the post with more implementation details, and I also cleaned up the shader code to make it easier to read/follow. If anything’s still unclear, feel free to comment on the post and I’ll try to clarify.
Love seeing plasma explained again. It’s wild how a few sines and cosines can still look this organic decades later. Feels very demoscene-pure: simple math, clever color mapping, and suddenly you’ve got motion and depth. Also cool to see specular highlights layered on top, old tricks, modern hardware.
I totally loved the plasma effect from whenever I first saw it, and implementing it myself in Pascal/DOS was one of the first times I really started to understand a 'shading'-like context where you are coming up with a value for every pixel, the pixels can be made to have 2D 'coordinates' (even though they are actually a 1D chunk of VRAM! -> modulo to the rescue!) and that you could transform the 'space' such that you feed in the coordinates (including time) and evaluate different-enough sine functions (then sum them, in this case) to create a beautiful soft-waves-evolving-over-time result! Was definitely an eye-opener about how to make it have nice colors as well! Great to see things like this being documented in this way!
9 comments
[ 2.8 ms ] story [ 31.4 ms ] threadhttps://youtu.be/iw17c70uJes?si=_KWmUg608NxgyrXv&t=348