ASSIMP Viewer Utility 
Document version 1.0, April 2008

I.	Usage 
The ASSIMP Viewer Utility is a small and fast stand-alone viewer utility which is using the ASSIMP library to import assets from files. It consists of a single executable file and has no external dependencies. It will display assets with complex materials and animations correctly.

System requirements:
-	A Direct3D 9.0c compliant video card with at least support for Shader Model 2.0.
-	Shader Model 3.0 cards are recommended
-	Windows 2000 or higher
 
II.	User interface
The viewer’s user interface mainly consists of three components: 
The menu bar provides access to the viewer’s basic options.
-	“Viewer”: Items to load / unload assets, take screenshots and open the viewer’s options dialog.
-	“Background”: Set the background color or use a texture (cubemaps are supported as skyboxes) as background image for the viewer.

The side panel “Statistics” displays rendering statistics (number of vertices loaded, number of faces, number of materials, frames per second, time required for loading).
The “Rendering” panel provides rendering-related options, such as wireframe/normal visualization. “Interaction” bundles all input related options.
The main component is the large viewer panel where the assets are displayed. Status messages (e.g. if a texture could not be loaded) are displayed in the upper-left edge.

III.	Input
The input mode depends on the selected input behavior. If „Zoom/Rotate” is NOT selected the following scheme applies:
‘Arrow up’ 	= Move forwards
‘Arrow left’ 	= Move to the left
‘Arrow down’ 	= Move backwards
‘Arrow right’ 	= Move to the right
The mouse specifies the view direction. This is the typical FPS input behavior.
Otherwise, if „Zoom/Rotate” is enabled:
“Left Mouse Button” = Keep pressed and move the mouse to rotate the asset around its local axes. Inside the yellow circle: x/y-axis, outside: Z-axis. To rotate around one axis only use the axis snap-ins (yellow squares with a cross inside).
“Right Mouse Button” = Keep pressed and move the mouse to rotate the light source(s) around their x and y axes.
“Middle Mouse Button” = Keep pressed and move the mouse from the left to the right or the other way round to increase/decrease the intensity of the light source(s)
“Right AND Left Mouse Button” = Keep pressed and move the mouse to rotate skybox (if existing) around the global x/y axes.
“Mouse wheel” = Zoom in/out
IV.	Rendering
Enabling MultiSampling improves rendering quality. MultiSampling is activated by default. The highest quality MultiSampling mode supported by the video card is used.
MultiSampling is especially useful to remove line artifacts in wireframe/normals mode. Note that the transition between normal and multisampled rendering may take a few seconds.
Rendering is done via Direct3D™ 9.0c. Note that the “Low-quality lighting”-Option is not available for PS 2.0 cards. Lighting on PS 2.0 cards is always low quality.

V.	Known issues 
-	If a loading process is canceled it is not guaranteed that further loading processes will succeed. ASSIMP Viewer might even crash in this case. 
-	Some very complex materials involving real time reflection/refraction are not displayed properly.
-	When rendering non-opaque objects some triangle artifacts might occur.