README 3.61 KB
MIP MAP DEMO
------------

This demo shows the 4 different ways of rendering textures simultaneously
so they can be compared visually.  The 4 views on the screen are:

TOP LEFT:  Point Sampled
------------------------
   Point sampled texture, no mip mapping.  This works well when the 
   geometry is scaled so 1 pixel corresponds to exactly 1 texel. Due
   to precision problems this only works really well with textured
   rectangles.

TOP RIGHT:  Bilinear Sampling
-----------------------------
   Bilinear sampled textures.  No mip mapping.  This works well when 
   the texel to pixel ratio is close to 1:1.  When the geometry gets
   very small compared to the texture map on it then lots of flickering
   occurs.

BOTTOM LEFT: RGB2C Mip Map
--------------------------
   Mip Mapping combined with bilinear sampling.  The original texture was
   fed to rgb2c which created all the mip map levels (the files named
   RGBA16*MM.h).  This works well when the geometry is small compered
   to the size of the texture map (eg when the cube shrinks very small,
   and on the faces which are very edge-on).

BOTTOM RIGHT: Hand Gen Mip Map
------------------------------
  Mip Mapping combined with bilinear sampling.
  This demonstrates the ability to supply your own mip map levels.  For
  this texture the original texture AND all the filtered levels were
  fed to rgb2c which created the mip map file with all the mip map levels
  (the files named RGBA16*HMM.h).  This is similar to rgba2c generated 
  mip mapping, but shows that when rgb2c doesn't filter the textures very
  well you can do your own filtering.  (I used Photoshop to shrink all 
  the images to the various sizes).  

CONTROLS:
---------
The joystick controls the scale and position of the cube.  Use the trigger
button to change the function of the joystick between scale, translate
x/z and translate x/y.

Use the L button (above the crosshair) to turn the menu on and off.  Use the
crosshair Up and Down to select different menu items and the crosshair
left and Right to alter the values in the menu.  Here are the parameters
which can be modified with the menu:

  Texture: choose from among 5 textures (the 5th, #4, is actually the same
           as #0 in the top level, #3 in the second level, #2 in the
           third level, and #1 in the 4th level - Texture number 4 is
           a special effect and would not normally be used like this).  
           Textures numbered 0 and #4 are 16x16 texels in their top level.  
           All other textures are 32x32 texels in their top level.  All
           textures are 16 bit RGB textures.

  Control Rotation: set this to 1 to enable the joystick to rotate the
           cube and move the walls.  After setting this to 1, press the
           trigger button until the message at the bottom of the screen
           says "rotate object with joystick"

  Rotation rate a: control how fast the object rotates.

  Rotation rate b: control how fast the object rotates.

  Texture Scale: alter the texture scale (changes the number of times the
           texture repeats over each face).

  Smallest Mip Pic: alter the number of levels of mip map used.  This number
           is the size (both s and t size in texels) of the smallest mipmap
           used.

  clamp lvl small or large:  This only has effect when "Smallest Mip Pic" is
           greater than 1.  When the level of detail reaches the highest 
           level available (as set by "Smallest Mip Pic") then the texture 
           seen is either that level or the lowest level.  (CHoose 1 for
           that level and 0 for the lowest level).

The A button resets the position of the geometry.

-Acorn