IOCCC image by Matt Zucker

The International Obfuscated C Code Contest

2005/vince - Most beauteous visuals

Rotating GL Cube demo

Author:

To build:

Before building, make sure that you have the OpenGL development libraries installed.

    make

NOTE: this entry requires the X11/Xlib.h header file and the X11 library to compile. For more information see the FAQ on “X11”.

There is an alternate version of this entry. See Alternate code below.

To use:

    ./vince

Try:

When running this in the program’s window try hitting space a few times and see what happens!

Alternate code:

The vince.alt.c code will run on SGI IRIX and also has the recursive CPP macro (which sneaked in accidentally) removed.

Alternate build:

To compile this alternate version:

    make alt

Alternate use:

Use vince.alt as you would vince above.

Alternate try:

Try it just like vince as above.

Judges’ remarks:

This beauteous entry makes use of visual {}s and whitespace to instruct the OpenGL development libraries to create beauteous visuals. Even hitting the space bar while the program runs produces a “spacey” effect! :-)

NOTE: when hitting space bar make sure that the program window is in focus!

Challenge: Try modifying the texture to something of your own design.

Author’s remarks:

ABUSE OF RULES

Requirements

Background

I was annoyed after the last IOCCC because I slaved away on a clever text based game only to find all of the game entries used X11. X11 isn’t standard C!

So to one up them, I decided to use OpenGL. It’s standard, and most Unix-like systems these days have either accelerated graphics or else software rendering.

Obfuscation

It was a challenge getting the source code below the 2k limit. OpenGL has way too many ‘GRATUITOUSLY_LONG_CONSTANTS’ and ‘glLongStudlyFunctionNames();’.

Therefore, much of the obfuscation comes secondary to just reducing the code size to fit under the limit while still having some semblance of a demo.

There are some interesting abuses scattered about.

Usage

Try hitting the space bar when the program is running.

For Fun

Try modifying the texture to your own custom design…

Thanks

Many thanks to John Clemens for testing this on various machines for me.

Errors you can get

Inventory for 2005/vince

Primary files

Secondary files


Jump to: top