This is from my latest visuals software - KataFX 3
The full picture can be seen here:
The Winamp visualization plugin is here:
KataFX 3 is a 3d editing and display environment for
projection visuals (for concerts/shows) using OpenGL.
It uses a scrim based gui for interaction.
Skinned, resizable scrim gui and windowed/fullscreen
Three levels of user expertise.
Milkshape model support.
Can be run as Winamp visualization plugin.
Visuals software for shows have one important
difference from traditional software/games - Multiple
viewers. For shows, this means no one but the user
should see the interface.
The only solutions(AFAIK) are:
No visual interface at all - Just keyboard and
mouse, this just doesn't cut it for creating complex
Dual monitors - Nice, but fewer people can use it,
and a lessened sense of immersion.
A Scrim interface - It can be clipped by the
projector and not displayed. This is what KataFX 3
The scrim interface has one important rule: the interface should not,
for any reason, drop below its rectangle, or be visible to the audience. i.e. no
drop down menus, no popup dialogs.
The KataFX 3 scrim has four parts:
Play - The mode it starts in, will work without any
human interaction. (easiest)
Groove - The mixer mode, allows tweaking of the
Edit - The editor, allows the user to create
background or foreground worlds. (hardest)
System - Configuration & file/skin loading & saving.
The interface & display are both rendered in OpenGL.
By sacrificing some rendering power to the interface,
I gained some nice freebies - The interface looks good
up close (and impresses the promoter, which is wise).
Another nice benefit is resolution independence. Since
it is rendered with OpenGL, it can run at virtually
any resolution and still look right. OpenGL handles
resampling, so the gui resizes without pixelation
-something traditional windows can't do!
Shows/raves can easily last 10 hours, an autopilot
keeps the user from getting exhausted too easily.
KataFX 3 uses an implicit autopilot - Emotion based,
with a large database of scenes. The autopilot knows
the difference between background & foreground worlds.
The background scenes are autofaded in/out. The
foreground scenes connect end to end, creating a
continous journey. Either can be enabled/disabled in
the Groove scrim.
The license/eula states the software is free for
personal use, but cannot be publicly displayed(i.e.
used to make money). This is because I provide
projections for shows, and it would be unfair for the
competition to use my work. It's the best balance I
could find between providing something to everyone
without shooting myself.
Visual C++ 6.0 - For development
CVS/WinCVS - For source control/bug finding.
Doxygen - To keep the source from collapsing under
it's own complexity.
NSIS - Used to create install executable.
Paint Shop Pro - Image editing.
StyleSkin - A universal skinning tool, used to create
ImageMap - Used to map regions in the skin to
functions used in the program.
I hope this provides some useful info to someone.
Scrim interfaces solve a niche problem, but it's the
best solution I've found so far. Sorry, no source
available, but the plugin is very customizable.
Katascope Visuals - www.katascope.com