Provided by: radiance_4R1+20120125-1.1_amd64 bug

NAME

       tmesh2rad - convert a triangular mesh to a RADIANCE scene description

SYNOPSIS

       tmesh2rad [ -o obj ][ -m mat ][ -p pat ] [ input ..  ]

DESCRIPTION

       Tmesh2rad converts one or more triangle-mesh files to a RADIANCE scene description.  The -o option may be
       used  to  assign a default object name.  The single letter "T" is used if no name is given on the command
       line or in the file.  The -m option may be used to assign a  default  material  name.   The  non-material
       "void"  is  used  as a default if none is given on the command line or in the file.  The -p option may be
       used to assign a default picture for a surface pattern.  If none is given on the command line or  in  the
       file, the surface will not have an associated pattern.

FILE FORMAT

       A  triangle-mesh  is  a  free-format  ASCII  file  composed of the following eight primitive types.  Each
       primitive is begun with a single, white-space-delimited letter:

       # Comment Whatever follows up until the end of line is passed as a comment  to  the  output.   Note  that
                 there must be at least one space or tab following the pound-sign.

       o name    The white-space-delimited string name is used as a prefix for all following output triangles.

       m material
                 The white-space-delimited string material is used as the modifier name for all following output
                 triangles.

       p picture The white-space-delimited string picture is used as the name of the RADIANCE picture file to be
                 used  as  a  pattern for all following output triangles with properly defined vertices.  (See i
                 primitive below.)

       v id x y z
                 Defines the vertex id with 3-dimensional coordinates x, y and z.  The identifier,  id  must  be
                 some  small,  non-negative  integer  value.   If  the  same  integer is used for a later vertex
                 definition, this definition will be lost, though any triangles using the vertex  prior  to  its
                 redefinition will be unaffected.

       n nx ny nz
                 Defines  a  surface normal vector with the 3-dimensional components nx, ny and nz.  This vector
                 will be associated with the most recently defined vertex, and is often placed on the same  line
                 as the vertex definition for clarity.  The vector need not be normalized.

       i u v     Defines  a  picture  index  for  the most recently defined vertex.  The u value will be used to
                 lookup the horizontal pixel coordinate in the currently defined picture.  The v value  will  be
                 used  to  lookup the vertical pixel coordinate.  (See the RADIANCE reference manual for details
                 on picture coordinate values.)   As  with  associated  surface  normals,  picture  indices  are
                 interpolated   using  barycentric  coordinates  based  on  the  triangle  vertices.   If  these
                 coordinates are calculated correctly, this should result in a smooth mapping of a pattern  onto
                 the surface mesh.

       t id1 id2 id3
                 Create a triangle connecting the three vertices identified by id1, id2 and id3.  The right-hand
                 rule  is  used  to determine the default surface normal orientation, and this should not be too
                 far from the associated vertex normals (if any).  All three vertices must  have  an  associated
                 normal  if the triangle is to be smoothed.  If a picture file is defined and all three vertices
                 have pattern indices associated with them, then this picture will  be  used  as  a  pattern  to
                 modify the triangle's color.

       We  realize  there are many similar T-mesh file formats in existence, and that it would have been just as
       easy to support one of these formats directly.  The disadvantage to supporting an existing format is that
       conversion from other formats might prove difficult.  It was our  hope  to  provide  a  "greatest  common
       multiple"  format  that would support all similar T-mesh formats, rather than supporting WaveFront's .obj
       format (for example) and being unable to associate a pattern  with  an  object.   Converting  from  other
       formats should be relatively straightforward.  In many cases, an awk(1), rcalc(1) or even a sed(1) script
       should be sufficient.

EXAMPLE

       Here is an example T-mesh file:

              # Our object name:
              o test_object
              # Our material:
              m puce
              # Our vertices:
              v 1  10   15   5
              v 2  10   -15  5
              v 3  0    -15  0
              v 4  -10  15   -5
              # Two triangles joined together:
              t 1 2 3
              t 2 3 4

       Which generates the following output:

              ## T-mesh read from: <stdin>

              # Our material:

              # Our vertices:

              # Two triangles joined together:

              puce polygon test_object.1
              0
              0
              9
                              10                 15                  5
                              10                -15                  5
                               0                -15                  0

              puce polygon test_object.2
              0
              0
              9
                              10                -15                  5
                               0                -15                  0
                             -10                 15                 -5

       Here is another example:

              # A partial cylinder:
              m BluePlastic
              v 1 -14.673 -3.119    50 n -0.95677 -0.203374 1.17936e-10
              v 2 -12.136 -8.817   -50 n -0.791363 -0.574922 4.84915e-10
              v 3 -12.136 -8.817    50 n -0.791363 -0.574922 4.84915e-10
              t 1 2 3
              m OrangePlastic
              v 1 -7.501 -12.991    50 n -0.549094 -0.812427 -1.45812e-09
              v 2 -12.136 -8.817    50 n -0.791363 -0.574922 4.84915e-10
              v 3 -12.136 -8.817   -50 n -0.791363 -0.574922 4.84915e-10
              t 1 2 3
              m BluePlastic
              v 1 -1.568 -14.918    50 n -0.171094 -0.965568 -5.69788e-09
              v 2 -7.501 -12.991    50 n -0.549094 -0.812427 -1.45812e-09
              v 3 -7.501 -12.991   -50 n -0.429001 -0.881759 -3.6502e-09
              t 1 2 3

       Note that the same three vertices were used repeatedly, and intermingled with the triangle definitions.

AUTHOR

       Greg Ward

BUGS

       Triangle  smoothing  doesn't work very well for glass or trans material types in Radiance, since textures
       cause distorted transmission through these materials.  It is best to use the dielectric material type  if
       smooth transmission is desired.

SEE ALSO

       arch2rad(1), awk(1), ies2rad(1), thf2rad(1), oconv(1), rcalc(1), sed(1), xform(1)

RADIANCE                                             3/18/96                                        TMESH2RAD(1)