Archive for the 'GUI' Category


Tuesday, May 20th, 2008

run the sketch(P3D) (OpenGL)—view the code (OpenGL)—download (OpenGL)

How do you use it?
Follow the on-screen instructions.

What is it?
This is based on the Rudolph helix series from Nov 2007. I’ve been tinkering with it off-and-on for a while so I decided it was time to show off the latest version. This one has an optional GUI layer built into it. This time I’m using the OpenGL renderer instead of P3D (both are posted for comparison). The weird thing is, with OpenGL the transparent pixels in the image are only transparent in one direction. With P3D, the transparency works both ways, but it doesn’t handle z-translations entirely right…

In the P3D version you’ll notice the small “farther away in space” images remain at a reduced size even when they are rotated to the front. I understand why this happens* but I’m not sure how to correct for it. Perhaps I should rotate the camera instead of rotating the coordinate space. Any thoughts?

*P3D is reducing the size of the images that are positioned on the negative z-axis. Similarly, an image with a positive z-coordinate is made bigger. This is done absolutely, without regard for the POV of the viewer; negative z = smaller, positive z = bigger. When you move the mouse left or right, you are spinning the entire coordinate matrix about the y-axis, This eventually brings the negative z-axis to the front and with it come the scaled-down images.

Binary Decoder Ring

Tuesday, May 13th, 2008

Binary Decoder Ring
run the sketch—view the code

How do you use it?
Type in 8 binary bits (that means some 8 digit combination of ones and zeros) and hit the Return key. It will then display the ASCII equivalent.

What is it?
My first (albeit very quick) experiment with GUI elements from the Interfascia library.

Why is it cool?
This was actualy written a few days back, after someone at work gave me “secret message” written in binary. I don’t know who’s geekier, the person who wrote the message, or me for writing a program to decode it.