Name Last Update
..
CVS Loading commit data...
Makefile Loading commit data...
PCmake Loading commit data...
README Loading commit data...
boot.c Loading commit data...
boot.h Loading commit data...
cfb.c Loading commit data...
controller.c Loading commit data...
controller.h Loading commit data...
dram_stack.c Loading commit data...
font.c Loading commit data...
font.h Loading commit data...
font_ext.h Loading commit data...
game.c Loading commit data...
game.h Loading commit data...
gfxinit.c Loading commit data...
gfxstatic.c Loading commit data...
letters_img.h Loading commit data...
rsp_cfb.c Loading commit data...
spec Loading commit data...
sphere_dl.h Loading commit data...
sphere_vtx.h Loading commit data...
static.h Loading commit data...
texture.c Loading commit data...
texture.h Loading commit data...
zbuffer.c Loading commit data...
GROUND DEMO:
------------
The brick ground plane is 2 textured triangles.   Use the joystick and 
trigger button to scale and move the ground.  The vertex structure used to 
draw the ground is constant, but the matrices change.  The printout on the
screen shows the vertex value (x,y,z) of 2 of the corners after the 
modeling (MODELVIEW) transform (WC = world coordinates), and the vertex 
value (x,y,z,w) of all 4 corners after the combined modeling & projecton
(MODELVIEW * PROJECTION) transform (CC = Clip Coordinates).

When the object (the ground in this case) gets too big in CC space, a 
warning message is shown on the screen.  The following condiitions are
checked (all in CC coordinate space):

   -32768.0 < x < 32768.0
   -32768.0 < y < 32768.0
   -32768.0 < z < 32768.0
   -32768.0 < w < 32768.0


   MAX(x) - MIN(x) < 32768.0
   MAX(y) - MIN(y) < 32768.0
   MAX(z) - MIN(z) < 32768.0
   MAX(w) - MIN(w) < 32768.0

   MAX(X) - MIN(X) + MAX(w) - MIN(w) < 32768.0
   MAX(y) - MIN(y) + MAX(w) - MIN(w) < 32768.0
   MAX(z) - MIN(z) + MAX(w) - MIN(w) < 32768.0

When the coordinates get large enough that they disobey these rules you
will begin to see problems:  texture crawl and wobble, lines in the texture,
clipping problems, and geometry problems.

The purpose of this demo is to show you why it is important to stay within the above guidelines when you design your models, worlds, and matrices.


CONTROLS:
---------
trigger button:	set the function of the joystick.

joystick:	scale the ground, move the ball, or move the eye (depending
		on the trigger)

L button (over crosshair): turn menu on/off

+ up/down:	select parameter in menu
+ left/right:	alter parameter in menu


NOTE:  The plane remains stationary in world space, but moves in CC space as
you move the eyepoint.  The eyepoint tracks with the ball unless you change
the Eye Mode.  The ball moves aound in world space (under joystick control)
and the eye always looks at the ball.  The ball is used only asd a reference
point.