Monday, February 23, 2004


just uploaded the result of last weeks work, a spacial visualization of all 4-letter words in the english language. by today's standards, that's quite a small dataset as there are only about 1650 words, but it was challenging enough. plus i had the engine in the works for quite some time now, and until now, no time to do something proper with it. the interface allows for quite detailed control to filter, display and smoothly interpolate between the various subsets of words. the piece, more info and the heavily commented source can all be found here:


Thursday, February 12, 2004

groupC sketches

casey reas is one of the original creators of our beloved Processing. he's just made public a delicious collection of sketches, most of them following his personal signature style: systems of semi-autonomous entities/pixels create complex inter-twining structures, continously changing, growing - all in the most beautiful colour schemes around. the sketches very much demonstrate the power and simplicity of Processing and its language and just remind me again of the fact we're living in the 21st century.

Saturday, February 07, 2004

superGlow v2

the demo from the previous post is now using dynamic texturing too, meaning the pixelbuffer itself is not just used as overlay to create the glow, but also applied as texture for the mesh in the next frame. the texture coordinates are based on the current vertex position in object space (yet need to figure out how to get on the transformed coordinates in screen space efficiently). the end result is some fake refractive look. because the current Bagel renderer somehow doesn't support the combination of lights and textures, i turned on the still unfinished new one, done by sami. it is (oh pleasure!) sooo much faster and does the lighting correctly too. yay!

superGlowRefract: /p5/superGlow/index2.html

Friday, February 06, 2004

creating overlay FX with the blend() function

if you're like me and are fascinated by the possibilities of mingling pixels, you'll like that little demo i did last night. inspired by the "glow" look of 3d geometry achievable with vertex/pixel shaders on modern graphics cards i tried to come up with a pure software only version. the effect is achieved by creating a scaled down version of the current content of the pixel buffer, which is then scaled up again and merged with the original using additive blending. the demo also shows how to clear the z-Buffer independently from the pixel buffer. this is important for cases where you don't want background refreshs, but still make sure 3d geometry is drawn properly.

superGlow is here: /p5/superGlow/

As the reference for the blend() function is not yet posted to the Processing website, here's an excerpt about the various blend modes:


Function to copy a single pixel or region of pixels from one image into another (or in itself again) with full alpha channel support and a choice of the following modes to blend the colours of source pixels (A) with the ones of pixels in the destination image (B):

BLEND - linear interpolation of colours: C = A*factor + B
ADD - additive blending with white clip: C = min(A*factor + B, 255)
SUBSTRACT - substractive blending with black clip: C = max(B - A*factor, 0)
DARKEST - only the darkest colour succeeds: C = min(A*factor, B)
LIGHTEST - only the lightest colour succeeds: C = max(A*factor, B)
REPLACE - destination colour equals colour of source pixel: C = A

All modes (excluding REPLACE) will use the alpha information (highest byte) of source image pixels as blending factor. See the reference for alpha() for more detail. The source and destination regions need not be of equal dimensions, the function will automatically resize source pixels to fit the specified target region.

Tuesday, February 03, 2004

Processing rev68 alpha just posted

fabulous! ben just posted the latest version for download from the processing website. more info and change logs are over here.

jared tarbell goes processing

probably best known for his groundbreaking and stylish generative flash work, mr.levitated has been silently working on some amazing new pieces, using Processing at: great stuff!