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