-----------------------------------------------------------------------------
           TRIANGLE MAPPING MACRO FILE - QUICK OPTIONS REFERENCE
-----------------------------------------------------------------------------
                        for Persistence of Vision 3.1

-----------------------------------------------------------------------------
OVERVIEW:
 The macros in the Triangle Mapping macro file allow you to create triangle
 meshes with either per-vertex colouring (ie. individual colours assigned to
 each corner of each triangle, smoothly blended across the surface), or
 UV-mapped texture (ie. individual texture co-ordinates assigned to each
 corner of each triangle, with the texture transformed to fit).

-----------------------------------------------------------------------------
PER-VERTEX COLOURED TRIANGLE MESH USAGE:
   #include "TRIMAP.MCR"
   mesh {
      #declare triangle_base_texture = texture {MyTexture}
      // Optional texture sets normal and finish for subsequent triangles
      cv_triangle (P1, C1, P2, C2, P3, C3)
      cv_smooth_triangle (P1, N1, C1, P2, N2, C2, P3, N3, C3)
      etc...

    P1, P2, P3 - vector vertices for each triangle
    N1, N2, N3 - vector normals for smooth triangles
    C1, C2, C3 - colours for each vertex (use proper colour syntax,
      eg. rgb 1, rgbf <1, .8, .4, .7>, colour DarkSlateBlue, etc.)

 Although the coloured-vertex triangles don't need to be wrapped in a mesh {}
 (ie. they can be used in unions, or on their own), doing so will generally
 use less memory.

-----------------------------------------------------------------------------
UV-TEXTURE MAPPED TRIANGLE MESH USAGE:
   #include "TRIMAP.MCR"
   mesh {
      #declare uv_texture = texture {MyTexture}
      // Image/bump/texture map, procedural texture, layered textures, etc.
      uv_triangle (P1, C1, P2, C2, P3, C3)
      uv_smooth_triangle (P1, N1, C1, P2, N2, C2, P3, N3, C3)
      etc...

    P1, P2, P3, N1, N2, N3 - vertex and normal vectors for triangles
    C1, C2, C3 - UV vector co-ordinates for each vertex

 The uv_texture is mapped from the XY plane, and UV co-ordinates may extend
 beyond <0, 0> and <1, 1>.  POV-Ray versions less than 3.1b may not properly
 support 2D vectors for the UV co-ordinates, in which case 3D vectors with
 z = 0 may be used.

-----------------------------------------------------------------------------
LAYERED UV-TEXTURE MAPPED TRIANGLE USAGE:
   #include "TRIMAP.MCR"
   uvl_triangle (P1, P2, P3)
     texture {BaseTexture} // Optional texture (not UV mapped)
     map_uv_texture (Texture1, C1, C2, C3)
     map_uv_texture (Texture2, C1, C2, C3)
     etc...
     } // Note closing bracket for triangle!

 Texture1, Texture2, etc. can have different UV co-ordinates.
 uvl_smooth_triangle (P1, N1, P2, N2, P3, N3) is also supported for layered
 smooth triangles.

-----------------------------------------------------------------------------
LAYERED UV-TEXTURE MAPPED TRIANGLE MESH USAGE:
   mesh {
   uvl_triangle (P1, P2, P3) #declare UVTexture =
     texture {BaseTexture} // Optional texture (not UV mapped)
     map_uv_texture (Texture1, C1, C2, C3)
     map_uv_texture (Texture2, C1, C2, C3)
     etc...
     texture {UVTexture}}

   uvl_triangle (P1, P2, P3) #declare UVTexture =
     etc...

-----------------------------------------------------------------------------
 TIP: On some platforms calling macros from an included file is considerably
 slower to parse than calling macros from the main scene file.  For this
 reason, you may want to copy and paste the necessary macro definitions
 from the TRIMAP.MCR directly into the start of your scene, rather than
 including the macro file.

-----------------------------------------------------------------------------
                       Copyright 1999, Chris Colefax <ccolefax@geocities.com>
