Demoscene Lab

Just in case you don't know what demoscene is, let me quote Wikipedia's definition for it:
The demoscene is a computer art subculture that specializes in producing demos, which are audio-visual presentations that run in real-time on a computer. The main goal of a demo is to show off programming, artistic, and musical skills.

I have been part of the Romanian demoscene since 1997 as Shadow/Eyes Team and later benny/roscene crew. If you are wondering, those constructions are in the form of nickname/group.

Although I have not written nor released too many demos, I have always been interested in learning the magic behind the creation of this kind of programs which I consider work of art; to me they represent a peak of programming skills, enabling you to communicate directly to your audience in a way that enterprise software will never be able to.

Through the current blog section I aim to give back to the community best to my abbilities the knowledge I acquired from many stars of the scene. Embark with me in a journey of creating a 64k intro in a pragmatic evolutionary way.

Here is the list of posts that accompanies the code for Demoscene Lab:

Demoscene Lab prelude

Prerequisites for Demoscene Lab and various other little things.

The Lonely Green Triangle

Your mission should you choose to accept it is to write an application that opens a fullscreen (or not) window onto which a green triangle using OpenGL is drawn; after 3 seconds the application must close.

The Wired Swirling Cubes

This time our aim is to replace the dull triangle with three wireframe cubes placed one next to another, all in our current view. They should slowly rotate on all axes around their center geometrical center with different amounts and the application should close once 5 seconds pass.

And God said "Let there be light!"

Congratulations! You accomplished the previous task and now you proudly look at them wires rotating around in style. But something’s bothering you; they seem all a bit … thin, shall we say? Your next mission is to get them dressed up in simple clothes and turn the light on. In common tongue this means that each cube should be flat shaded and have a distinct colour while performing the same mesmerizing dance as before. And to add a bit of style, have the light modulate its energy from none to full twice in the same 5 second interval.

Capturing OpenGL video on Linux

While on Windows the dedicated solution for realtime video capture software is Fraps, on Linux there does not seem to be such a dedicated solution. Or is there?