fail failed
As you can imagine, for every of the (arround 50) finalized demos/works in productions made during the years, and for every of the techniques explained in articles, there has been a lot of other frustated, unfinished and abandoned demos and experiments that had some sort of visual output, but never did it into the public space. Well, I hope I can use this pineapple page for showing some of those works (but not all).

Please understand that most of them are in different phases of completion, but most of the times it was just a technical prove of concept, so the visuals, beauty and art in general were the last concern and obviously not taken care of...



January in Cubeland (2007)


This is a demo project I started in 2007, that I never found time and inspiration for. Music was done by Khrome, and the point was to do realtime occlusion based on distance fields. It worked very well. The cubes were tesselated based on distance to the camera (in the CPU) and ambient occlusion was computed per vertex, in the CPU, in a multithreaded fashion. Because the bottleneck was in the CPU and the rendering was quite simple in fact, I could afford rendering up to 16 subframes per frame, giving me a pretty decent motion blur and antialiasing.

The visuals and rhythm were quite uninspired, though, so I never got to do anything with it but this sketch you see here.


Pigs Birthtro (2001)


This is a demo that was never finished, made in 2001 for MsDos. It all fits in 48 kilobytes, music included. The fonts are procedurally generated.

The demo was running in palette mode ("indexed" mode), not in rgb framebuffer. Because of that, even if the demo was rendered at 640x480, the animations in the background could be done in realtime, by using the hardware. Indeed, we could get even 70 frames per second thru rotation of the palette instead of by other methods that involve moving pixels around.


4 verts (2005)

This was another demo I started in 2005 which never saw the light of day. The idea was to do a GLSL demo, where all the effects would happen in a 2D GLSL shader, much like the shadertoy effects (http://www.iquilezles.org/apps/shadertoy). In fact, I implemented a software rasterizer for rendering polygons WITIHN a shader - you can see the result in the rotating cube (the geometry was stored in a texture), which you might notice doesn't have perspective correct texture interpolation. There was a raytracer too (the abstract white sculpture) and other classic deformation and fractal effects.

The music was made by Wizard, but we never got to finish it or find a satisfying idea/concept/design for it. Luckily I could reuse some one of the raytracing effects for my intro Kindercrasher (2006).


Webcam (2007)

An basic experiment on realtime video capture and rendering, done during 2007. I wrote my own video library in C++ to read life images from a camera. The rendering was a quick demo effect to test the webcam library. The one in the images it´s me in front of the PC :)


Realtime Cloth Simulation (2006)

Some experiments made in 2006 on simple realtime cloth simulation. Any generic 3d mesh was converted to a mass-spring system, and the simulation was performed with verlet integration and simple vertex-to-proxy intersection tests. Good enough for 64 kilobyte demos!


Hammer (2011)

During 2010 and 2011 me and my friends funded SexyVisuals, a group of VJs for performing realtime interactive live visuals in the clubs of San Francisco.

I coded this sketch for one of our shows. It was just a 5 hours coding, but it was enought to import some meshes, create a simple scene, do some shading, lighting, procedural animation and scripting work. Then I loaded some music by our friends Dance Floor Executives, and started VJ=ing with the sketch a little bit to test it. This is the live recording of that improvisation.



Real Pixel Coding (2011)

This is an example how little it takes to write a realtime animation effect (a textured tunnel in this case). 224 bytes are enough. therefore, open photoshop, draw some pixels, save the image, rename it to as an executable, and let the x86 cpu execute it as native code. et voila, an oldschool animation! This is the whole story, as described in my blog, el Trastero:

during the last 5 years i’ve been explaining people that it takes less space to write a 3 minutes HD animated video and music clip than than it takes to store a 32×32 pixel icon. it’s all about replacing content, by algorithms. i often have shown binary/dissasembly code of such animations in an attempt to prove me right, but never really managed to find out a way to make my point ridiculously obvious to understand (at least to programmers).

rhe other day my colleague Ernest Delgado from sexyvisuals sent me a link to this funny video, where somebody was writing a text file (with some C++ code as content) by drawing pixels in an image file.

so i thought i could kill two births with one stone if i applied the “build content by putting color pixels” idea. for one hand, i would go beyond writing source code (which btw wouldn’t compile due the header of the bitmap being interpreted as garbage by the source parser of the compiler) and write actual native x86 executable binary code, that would actually run in the computer as any other application. in the other hand, i would show that indeed, couple of hundred bytes are enough to build a realtime animation (who needs C++, DirectX or OpenGL?).

anyway, this is the video. what you can see is: (1) the creation of an empty 9×9 image. (2) the filling of the pixels with carefully chosen colors. (3) saving the file in raw format (ie, without header). (4) renaming it to .com, so that Windows (XP) recognizes it as an executable file (as an application). (6) running the executable/application, which opens a window and runs an infinite moving tunnel with a gray colored texture.

the binary content itself is a x86 real mode com file that basically opens the oldschool 13h graphics mode (320×200 pixels, 256 colors – remember monkey island and those old games?), creates a texture with an XOR pattern, blurs it, and uses a plane deformation technique to produce the animation.


FFT Cubes (2007)

This was done during 2007 as an experiment on automatic image and audio synchronization. The idea was to try to generate some realtime visuals that would react to the music. In this case, the fourier transform of the sound signal was used to generate the landscape. This means that as the music progresses, the features in the terrain follow. Pay attention, and you'll see.


Stars (2010)

During 2010 and 2011 me and my friends funded SexyVisuals, a group of VJs for performing realtime interactive live visuals in the clubs of San Francisco.

Among many of the effects, we had this simple particle effect. The interesting part is probably the sinchronizaton of music and shapes, which is done by me as I improvise to the music. The music was in fact a random song from youtube, and the videos was recorded realtime as I played.


Photosphere (2001)

During 2010 and 2011 me and my friends funded SexyVisuals, a group of VJs for performing realtime interactive live visuals in the clubs of San Francisco.

Among many of the effects, we had this simple spherical arrangement of cubes. To be honest, it's all pretty poor rendering, design and execution wise, but well, it was a beginning. The music was played live from youtube at the time of live recording this video.



Onion (2011)

During 2010 and 2011 me and my friends funded SexyVisuals, a group of VJs for performing realtime interactive live visuals in the clubs of San Francisco.

Among many of the effects, we had this simple set of cubic arcs. To be honest, it's all pretty poor rendering, design and execution wise, but well, it was a beginning. The music was played live from youtube at the time of live recording this video.


Mandel Zoom (2002)

I made one of the first videos I ever seen with animated orbit traps in a Mandelbrot set (of course, I've seen hundreds of them afterwards, most of them very beautifull in fact). In this case I used two simple simple rotating lines as trap. It was written in C for my MsDos computer. Ah, good days.