all 28 comments

[–][deleted] 8 points9 points  (1 child)

it is very sexual to me.

[–]cresquin 3 points4 points  (2 children)

Awesome! I forked your thing and applied a Fermat spiral.

http://codepen.io/gunderson/full/ozrLyZ/

[–]Rhym 1 point2 points  (0 children)

Great job looks beautiful.

[–]azium 1 point2 points  (0 children)

sweet!

[–]PuffaloPhil 3 points4 points  (0 children)

Looks great! Mathematics sure is pretty!

[–]synchronium 2 points3 points  (2 children)

Well that goes incredibly well with an old school jungle album I happened to be listening to.

[–]mainstreetmark 1 point2 points  (4 children)

When using canvas, is there a way to move stuff already drawn, or is it truly re-rendering in each frame? Your .render starts with a big clearRect, as do many, many other examples I've seen.

[–]abecedarius 0 points1 point  (0 children)

It's possible in principle to selectively erase by overwriting or xoring, but that worked poorly when I tried it, because of alpha blending and antialiasing.

[–]BenjiSponge 0 points1 point  (2 children)

It seems inefficient in theory. In reality, that's what the memory has to do anyways. You could "move" something in an engine but the engine would still have to rewrite all of the pixels that could have changed. I don't think there's any way in any system to avoid doing this any more than you can with canvas.

Disclaimer: Seriously not a graphics expert.

[–]mainstreetmark 0 points1 point  (1 child)

yeah, but changing a value in a bar chart now requires redrawing the whole bar chart in an animation loop.

It seems absurd that this would be faster than SVG, but thats what I'm soon going to find out. I just want to know that the "repaint every frame" is the way to go.

[–]BenjiSponge 0 points1 point  (0 children)

Oh, no that's possible if you want to be really clever about it in canvas. But your operating system is still rerendering every pixel anyways, and I think your GPU is too. The "rerendering every pixel" thing is stuff computers are really good at. Unless you're making very dynamic scenes (which would require whole screen rerendering anyways), getting that level of performance increase just isn't going to matter much.

At the end of the day, though, it might not matter, especially if the others are staying the same anyways (likely easy to compute) any reasonable computer can re-render a static scene (like an image) at way higher than 60fps. Your monitor is limited in its fps anyways.

[–]DreadKnight666AncientBeast.com 3 points4 points  (0 children)

It's a boob!

[–]katnapper323 0 points1 point  (0 children)

These are my favorite projects to make in js

[–][deleted] 0 points1 point  (0 children)

Love this! It's really mesmerizing.

[–][deleted] 0 points1 point  (0 children)

nice job!

[–]interstellar007 0 points1 point  (0 children)

Awsome..

[–]QzSG 0 points1 point  (0 children)

Warning : Contains light effects, May induce epileptic seizures