Brian Cross

Freddy The Penguin
Freddy comes in 4 standard poses.
1. standing
2. diving (or jumping up)
3. martini in hand
4. sipping the martini
Freddy has a small animation. If you enable animation, he will blink
his eyes at regular integrals (5 to 10 seconds, depending on PC)

Freddy's martini uses alpha blending to make the glass and martini transparent (how else would you see the olive?). Depth Buffering is turned off momentarily for the martini to be drawn so that objects that it obstructs, still get drawn (and blended with the glass)

Freddy's body is also texture mapped to provide penguin markings.

Freddy's body, flippers, martini glass, eyelids, feet, and beak are all Surface of Revolution objects. I created a small tool called SofA (Surface of Revolution, but i liked Sofa better than SofR :) ). This application is attached as well.

Quick Usage:
It performs like a lathe, and you only get one curve right now... i have the facilities to add another curve, but didn't have time. There is a blue box on the lower left of the window. the left side has a thicker vertical line (the y axis). this is the axis of revolution. to the right of this line, you may draw with the left mouse button (right mouse button removes points). A flat preview of the surface will be shown to the right.

On top you have 3 sliders. Longitude and Latitude sampling is the "resolution" of the sampling (the lower the sampling, the fewer triangles). the 3rd slider, is the percentage of rotation to perform. 50% will only go around the axis 180 degrees, thus creating half of the surface.

Once your surface is created, you can save it to a .sofa file or anything you want. I have a Sofa class in the modeler that reads in a file (of this type), and draws the surface in a gldisplaylist (for quicker rendering). Sofa also provides texture coordinates. If you give the Sofa class a bmp, it will texture the object for you (the penguin body illustrates this).