/*
* $Log: tr.h,v $
* Revision 1.5 1997/07/21 17:34:07 brianp
* added tile borders, incremented version to 1.1
*
* Revision 1.4 1997/07/21 15:47:35 brianp
* renamed all "near" and "far" variables
*
* Revision 1.3 1997/04/26 21:23:25 brianp
* added trRasterPos3f function
*
* Revision 1.2 1997/04/19 23:26:10 brianp
* many API changes
*
* Revision 1.1 1997/04/18 21:53:05 brianp
* Initial revision
*
*/
/*
* Tiled Rendering library
* Version 1.1
* Copyright (C) Brian Paul
*
*
* This library allows one to render arbitrarily large images with OpenGL.
* The basic idea is to break the image into tiles which are rendered one
* at a time. The tiles are assembled together to form the final, large
* image. Tiles and images can be of any size.
*
* Basic usage:
*
* 1. Allocate a tile rendering context:
* TRcontext t = trNew();
*
* 2. Specify the final image buffer and tile size:
* GLubyte image[W][H][4]
* trImageSize(t, W, H);
* trImageBuffer(t, GL_RGBA, GL_UNSIGNED_BYTE, (GLubyte *) image);
*
* 3. Setup your projection:
* trFrustum(t, left, right, bottom top, near, far);
* or
* trOrtho(t, left, right, bottom top, near, far);
* or
* trPerspective(t, fovy, aspect, near, far);
*
* 4. Render the tiles:
* do {
* trBeginTile(t);
* DrawMyScene();
* } while (trEndTile(t));
*
* You provide the DrawMyScene() function which calls glClear() and
* draws all your stuff.
*
* 5. The image array is now complete. Display it, write it to a file, etc.
*
* 6. Delete the tile rendering context when finished:
* trDelete(t);
*
*/