Some brief instructions on how to use Pfhormz.

I had mostly intended it to be a debugging tool, so its interface is not what it could be.

It has a display window and a message-output window. The display window is where one sees all the rendering; the message-output window contains various messages emitted by Pfhormz; when you are done, Pfhormz will ask if you you want to save that output. I recommend only saving it if you think that there is something worth saving in it, such as the precise dimensions of some model's bounding box.


The main menu is the menu item "RightButton", which is the software's way of making a fake right button. It has these items:


Load Model... > menu with these items for model-file formats:

Alias-Wavefront
3D Studio Max
QuickDraw 3D
Dim3 [First] (Brian Barnes's format: load the geometry [mesh] first)
Dim3 [Rest] (BB's format: load the frames [poses], and then the sequences [animations])

Load Skin...

Colors (need this one)
Opacity (alpha channel)


Normal Type

None
Originals
Reversed Originals
Clockwise Sides (a side's vertices have normals that point to where it looks clockwise)
Counterclockwise Sides (likewise for counterclockwise)


Vertex-Split Threshold

(Used only when calculating clockwise or counterclockwise sides. It indicates how different a vertex's polygon normals have to be before the vertex will be split into one vertex for each of those polygons, each with that polygon's normals. An unsplit vertex gets an average of those polygons' normals.)


Background Color

with separate menus for red, green, and blue, creating a crude color picker.


There are also some keyboard commands; these do the following:

Move the model; note the keypad position symbolism:
Front upwards: 8, uparrow
Front downwards: 2, downarrow
Front leftwards: 4, leftarrow
Front rightwards: 6, rightarrow
Top leftwards: 7
Top rightwards: 9

Reset model position to original: 0

Toggle Z-buffer (for debugging depth sorting): Z

Toggle bounding-box visibility: B

Toggle number of render passes (multitexture debugging): S

Toggle lighting (red: right, green: top, blue: front) : L

Change type of animation data viewed (neutral, frame, sequence): P

Toggle whether to use model transform (in Pfhormz, reflection over all three axes): T

Previous sequence: [ {
Next sequence: ] }

Previous frame: - _
Next frame: = +

Interpolate to next frame; increase interpolation fraction by 1/4 = M

Code notes: Pfhormz uses some A1 engine code; it also uses the mini-framework GLUT for coding simplicity and portability.

The current version is designed to work in Classic MacOS, but it should easily be portable to other platforms, where one links to SDL or other appropriate libraries.



