Voronoi and vectors. December 17, 2008 at 5:39 pm

Gee, look what Vector does to Voronoi!

…yesterday I´ve rewritten my Voronoi Classes and updated them with various new Flash10 methods. My basic thought was, to speed up my entire processor so that it can manage and display more points and run even a bit faster than my former one. But hell yeah… now it actually runs up to 5 times faster than before. Without applying any filters or the like, I nearly get ~98fps of available 100fps maximum. Even if I add some filters upon the structure, it performs by having ~57fps. Only when I plug another shader thereon, the whole setup gets ruptured (~17fps).

enhanced voronoi tesselations
Launch
(skip between the render-modes via mouse click)

The essence behind this sharp acceleration wasn´t voodoo at all, but a strict usage of vectors instead of arrays. He´s telling tall stories you might say! So to proof I´m not fibbing I updated my former voronoi image processor, and now it runs faster/-smoother, and can manage twice as many points as before.

enhanced voronoi image processor
Launch
  (compare with former version)

So this upgrade definitively was worthwile!
 

Enhanced Escher. December 10, 2008 at 3:40 pm

Last November I released my first version of the so called Droste Effect. It was a pure Actionscript3 assembly, and even though it is quite fast performing - it wasn´t fast enough by far!

As promised back then, I now have written a version of the Droste Effect in Pixel Bender and this time it is pretty fast (~20fps). In the course of rewriting my script, I added a few more optional values like constant rotation and endless zooming. Even x- and y-shifting is implemented a lot more smoother than before (hold MouseDown and move the mouse thereby).

droste effect pixel bender-version
Launch
  (Flash Player10 needed!)  - or download the sources.

Now, you´d almost wonder why I´ve converted my Droste Effect into a Pixel Bender version when there already is a damn good Pixel Bender variant from Tom Beddard. Well, ´cause of the fact Tom´s shader isn´t Flash compatible at all, so…

Enjoy.

25-Line finalist. December 8, 2008 at 10:45 pm

What´s it all about? Keith Peters invented the 25-Line Actionscript Contest and to put it simply, the aim was, to program something attractive/-creative within 25 lines of Actionscript3 by “just” using Flash CS4. So I, like many other Flash-Developers (anyone could participate), hit the road a few weeks ago and programmed “metaNoise“, a snippet that gets along with less than 25 lines.

But there´s more to it than that. Now, that the judges nominated metaNoise as one of twelve final pieces in total, you are in charge and may vote your favourite snippet to choose a winner (you have to register first!). And I can tell you, there definitely are a view fantastic results.

metaNoise
Launch

Well, metaNoise orients itself by strictly implementing a typical, not to say the typical  Metaball-Function. And because I still had a couple of lines remaining, I styled those little noisy fellas with a few filters on top. Gee, did I mention that all 25-Line entries come along with the source-codes!

Lastly, I´m not saying vote for me, but it would be great if you cast your vote on 25lines.com so that there are many representative votes. Visit and vote here: www.25lines.com

Cheers.

Debris pattern. December 4, 2008 at 3:37 pm

Inspired by the demo I mentioned in my last blogpost, I started developing my own little kinda debris flow. Well, after scripting 3d stuff directly with Flash10 the first time, I´ve to say, that Flash´s built-in functions and methods are much more comfortable than expected.

debris pattern
Launch (Flash10-Player needed!)

My pattern is fragmented into 42 individual 3d cubes (the amount of cubes is adjustable on demand), each one rotates distinctly, moves along the Z-axis, but all these processes perform by having ~40 fps constantly (pretty fast I think). The whole snippet would remain on that limit if I wouldn´t plug several filters and blendMode´s on it. Lastly, I couldn´t deny to add my smudge shader-filter (activate it with a mouse-click on stage), and this factor bursts every performance… but still looks interesting.

Additionally I´ve prepared another release of this pattern wich isn´t using an abstract texture, but is image-based. So this version dissects an image-source and uses the parts as textures for the cubes.

image-based debris pattern
Launch (Flash10-Player needed!)

After all, the one thing that´s a bit sadly is the clipping when z-sorting the pattern - it appeals very clumsy. I mean, you can see that each single cube is actually flat… “But Hey”, you can´t have everything.

Deeply impressive. November 26, 2008 at 1:22 pm

What can you achieve in 180kb?

This morning I, once again, stumbled over “.debris“, a demo from German famous demomakers group called farbrausch. Believe it or not, “.debris” is only 180kb small but still so magnificent it´s simply unbelievable. Btw., the tool that stands behind all that magic is called “.werkkzeug” and in case you didn´t know already, it´s free!

So, if you are in a bad mood like I´m today, things like that really make my day!

Plugged with Photoshop. November 18, 2008 at 5:44 pm

This morning an incoming email sweetens my day, because Adobe officially released the Pixel Bender Plug-in for Photoshop CS4 on Adobe MAX San Francisco. As for me, the most incredible detail on that release is, that this Plug-in is delivered, quasi per default, with two filters I´ve developed. Additionally there are built-in filters from Petri Leskinen or Joa Ebert as well, so I´m in good company. John Nack had a brilliant post about the release on his blog a few days ago.

Anyhow, on one side it´s kinda strange feeling that I now can extend a program that I´m used to for so many years now (I started with Version 3.0 back then in 1994) with an Adobe Plug-in, wich contains filters of mine. Then again, I´ve to say that I´m feeling quite comfortable with it!

If you never checked out Pixel Bender before, you really should give it a try!

Droste effect. November 13, 2008 at 2:46 pm

Droste effect? Now he´s a bit of a weirdo… you might say. Nuts to you! When I fetched an old paperback with prints of Dutch graphic artist M.C. Escher, I was once again charmed by his pictures that I started to read up on how these art is created.

So I found this website, wich explained the principles of the art of M.C. Escher, including why this kind of recursive picture effect is also known as Droste effect.

Additionally I came across a very nice set of images on flickr dealing with that theme and I come to know that there is already an implementation for MathMap (here you can study the MathMap sources). Fitted with all that knowledge I started my own code conversion of the Droste Effect in Actionscript3.

droste effect as3-version
Launch

I´m bound to say that my current approach of this effect isn´t nearly as sophisticated as the MathMap standard, but to manipulate pixels partly performant in realtime with flash still is a challenge separately.

droste effect as3-version

For the moment I´m fine with that version (even if I´m planning a Pixel Bender adaption already). Furthermore I´m curious to see what you can work out with that code, therefore you can download the sources here. So I´m looking forward to see your conversions soon…

Cheers.

Cuts. November 4, 2008 at 2:00 pm

In the course of a project we realized a while ago, there was the task to have the option to add cuts to the content. To be exact, the user should be able to slice, cut and scratch onto the current stage. As a result I proceeded playing with the initial effect I developed back then, for example, I added edges, crumples and a few filters to the cuts. Finally, so you can proper test it, I quickly sketched this abstract self-portrait:

cuts
Launch

Gee! What a significant composition…

FITC Amsterdam October 30, 2008 at 10:06 am

See you in Amsterdam next year?

I´ve just bought my tickets for upcoming  FITC Amsterdam conference, wich takes part in February 2009 (the tickets are fairly affordable at the moment). I´ll go there together with Niklas, Chris and a few more members of anyMotion´s Flashteam. It would be nice to see you there, so we can have some awesome days in the beautiful city of Amsterdam.

Patchwork image processor October 17, 2008 at 1:47 pm

Once more, another image processor I developed from the scratch during the last nights. The idea was to create a filter wich behaves like “Ministeck” (don´t know how you call it in English) when applied to an image.

patchwork image processor
Launch

As you can see in the image above, “patchwork” provides several sub-renderer routines (convolutions, raises …) wich also can be applied on top of the final result as single render tasks as well. Accordingly there are quiet a few options to manipulate images via this image processor. Additionally I implemented the facility to animate your current result. I know, that´s just a needless gadget by far, but I simply couldn´t resist adding a little perlinNoise driven movement to it.

After all those Delaunay-, Voronoi-, Deformer-, and now the Patchwork image processor, it seems like I tend to strengthen in this direction. “Never mind”, due to the fact that it is pretty much fun to deal with this kind of developments.