I made a sample ampplication that runs on an SGI that you might want to try for this assignment. The code is in /mas/acg/964/prob3. You will want to copy that directory into your own directory before you start editing it. It is written in C++ and is based on Performer (ver. 1.2), although I've pretty much hidden all the Performer calls for you. Basically, you will be making changes to the file prob3.cxx.

Here is a sample of how to make a paragraph. Note that Paragraph is a subclass of Text. The second arguement in the constructor is the typeface. Here is a list of available typefaces.

Text *story;

story = new Paragraph("/mas/acg/964/stories/story1", "Helvetica");
story->SetColor(0.8, 0.6, 1.0);
story->SetPosition(-10.0, 30.0, 8.0);
story->SetScale(1.0);
story->SetBlur(0.5);
AddChild(story);

Here is a sample of how to make a clickable button that does something to another object

int MoreAlpha (char *args)
{
Text *text;
float alpha;

text = (Text *)args;
alpha = text->GetTransparency();
text->SetTransparency(alpha-0.1);

return (1);
}

Text *button;

button = new TextString("More Fuzzy", "Helvetica");
button->SetPosition(-6.0, 20.0, 12.0);
button->AttachFunctionCall(JUSTDOWN, MoreBlur, (char *)story);
button->SetBlur(0.5);
AddPickable(button);
AddChild(button);