Transform_AMI
=============

This directory contains sources of transformation library, and simple GLUT demo, using it.

Compiled TransformLib binaries can be found in:

TransformLib
	Release
		TransformLib.dll
		TransformLib.lib

Test application can be found in:

TransformLib_Test_GLUT
	run_external_shader.bat
	run_geometric.bat
	run_geometric_fast.bat
	run_perspective.bat
	run_perspective_fast.bat
	run_simple.bat

Note test application displays results as BGR, instead of RGB (red and blue channels
are exchanged). This is merely to show-off asynchronous transfer performance, BGR is
native to GeForce family, and is faster than RGB. This can be fixed using simple shader.
The original AmiDemo application didn't display images using OpenGL, so there was no
need to change this behavior.

Building
========

Workspace file Transform_AMI.dsw can be opened in Microsoft Visual Studio 6.0,
building should be very easy, for building the test app, GLUT library must be installed
and configured with Visual Studio.

Another workspace file Transform_AMI.sln can be opened in Microsoft Visual Studio 2008,
Visual Studio 2005 contains the Freeglut library, but it doesn't contain freeglut.dll.
It can be downloaded here: http://www.transmissionzero.co.uk/software/freeglut-devel/

Visual Studio versions between 6.0 and 2008 (VS 2003, VS 2005) can open Transform_AMI.dsw
and convert it to it's format, building should be no problem.

The files can be built with Borland C Builder 6, but we provide no project file for this
environment.

Documentation
=============

There is some more documentation in the Doc folder.

Doc
	Benchmarks.txt
	oitogh_v1.3_16_2_2006_.pdf
	SkinColor.txt
	TrUt_usage.txt

Hardware requirements
=====================

Running with NVidia GeForce 6600 or higher results in optimal performance.
For ATI cards, the following OpenGL extensions must be supported:

GL_ARB_vertex_buffer_object
GL_EXT_framebuffer_object
GL_ARB_shader_objects
GL_ARB_vertex_shader
GL_ARB_fragment_shader
GL_ARB_shading_language_100

and to support asynchronous transfers, optionaly:

GL_ARB_pixel_buffer_object
GL_NV_fence

but to our knowledge, there is no ATI card with GL_NV_fence support.
