home *** CD-ROM | disk | FTP | other *** search
/ World of Graphics / WOGRAPH.BIN / 726.3DS2POV.DOC < prev    next >
Text File  |  1993-05-05  |  10KB  |  229 lines

  1. 3DS2POV Version 1.7  May/93
  2. Copyright (c) 1993 by Steve Anger and Jeff Bowermaster
  3.  
  4. This program reads a 3D Studio .3DS file and writes a POV-Ray, Vivid or
  5. Polyray raytracer scene file. Nested bounding shapes are automatically
  6. generated for POV-Ray to greatly reduce the rendering time. It writes the
  7. camera and light positions, but unfortunately it doesn't handle the textures
  8. automatically, (although we haven't given up). They currently default to a
  9. white shiny plastic, and you must go in manually and adjust them to what you
  10. need.
  11.  
  12.  
  13. Hardware requirements:
  14.  
  15. The 3ds2pov.exe executable requires a minimum of a 386 or a 486 with a
  16. math co-processor. At least 2MB RAM is recommended. It is compatible with
  17. most 386 memory managers but will not run under a DPMI server (Windows, OS/2).
  18.  
  19.  
  20. Syntax:  3ds2pov inputfile[.3ds] [outputfile] [options]
  21.  
  22. Options:
  23. -snnn        - Generates smooth triangles. The boundaries between triangles
  24.                are only smoothed if the angle between the triangles is less
  25.                that nnn degrees. -s0 will not smooth any triangles while
  26.                -s180 will smooth all triangles. Values from -s45 to -s90
  27.                usually work well. If unspecified smoothing defaults to -s60.
  28.  
  29. -l<filename> - Specifies a file containing texture declarations for common
  30.                3DS materials. Up to 10 libraries can be specified.
  31.  
  32. -a<filename> - Use animation information in specified .vue file.
  33.  
  34. -fnnn        - Generate frame nnn of animation (must be used with -a
  35.                parameter).
  36.  
  37. -x<object>   - Exclude this object from the conversion. If the object name
  38.                contains any spaces it must be enclosed in double quotes.
  39.                e.g. -x"BEACH BALL"
  40.  
  41. -u           - Do not add nested bounds to output (unbounded).
  42.  
  43. -v           - Turn on verbose status messages.
  44.  
  45. -op          - Output to POV-Ray 1.0 format (default)
  46. -op2         - Output to POV-Ray 2.0 format (2.0 is unreleased as yet)
  47. -ov          - Output to Vivid 2.0 format
  48. -ol          - Output to poLyray format
  49. -or          - Output to Raw triangle format.
  50.  
  51.  
  52. Use:
  53.                3ds2pov birdshow -l3ds.inc
  54.  
  55. assumes the input file is birdshow.3ds and outputs to birdshow.pov and
  56. birdshow.inc in the current directory. The file birdshow.pov will contain
  57. the camera, light sources, and list of materials used (basically everything
  58. you may want to edit) and birdshow.inc contains the triangle mesh data.
  59.  
  60. Predefined materials in 3ds.inc will be automatically used if the names 
  61. match (case is important), otherwise materials default to white shiny
  62. plastic. For a start, simply modify the material colors in the main file
  63. for each material to an appropriate color and take it from there. The file
  64. 3ds.inc is only included as an example. You'll likely want to build up a
  65. more complete texture library.
  66.  
  67.  
  68. Smoothing:
  69.  
  70. 3ds2pov doesn't yet use 3D Studio's smoothing group information and instead
  71. does it's own smoothing. The amount of smoothing applied is controlled by
  72. the -s parameter and specifies the maximum angle that will be smoothed. The
  73. default of -s60 usually works for most scenes but you may find that some
  74. scenes require more or less smoothing. This parameter works just like the
  75. Auto Smooth option in 3DS.
  76.  
  77.  
  78. Animation:
  79.  
  80.   The animation information is exported from 3ds via a .vue file that can
  81. be created in the 3DS keyframer (Render/Setup/Make .VUE). By specifying the
  82. name of the .vue file and a frame number 3ds2pov will generate a scene file
  83. for that specific frame.
  84.  
  85.    e.g.    3ds2pov robot -arobot.vue -f5
  86.  
  87. The option -arobot.vue tells it to get the animation information from file
  88. robot.vue and option -f5 tells it to render frame #5. To generate a whole
  89. animation you can create a batch file that runs 3ds2pov and the raytracer
  90. for each frame in the animation. The program 3dsani is included to make the
  91. generation of this file a little easier.
  92.  
  93. Syntax:  3dsani inputfile [options]
  94.  
  95. Options:
  96. -a<filename> - Specifies the name of the  3ds animation (.vue) file.
  97.                If unspecified defaults to inputfile.vue.
  98.  
  99. -t<filename> - Specifies the name of the template (.tpl) file.
  100.                If unspecified defaults to inputfile.tpl.
  101.  
  102. -o<filename> - Specifies the name of the output (.bat) file.
  103.                If unspecified defaults to inputfile.bat.
  104.  
  105. -snnn        - Start animation at frame nnn. If unspecified the start frame
  106.                is taken from the .vue file.
  107.  
  108. -ennn        - End animation at frame nnn. If unspecified the end frame is
  109.                taken from the .vue file.
  110.  
  111. -pnnn        - Render every nnn'th frame. If unspecified defaults to 1.
  112.  
  113.  
  114. Example:
  115.              3dsani robot -tani1.tpl
  116.  
  117. generates a batch file named robot.bat that will execute 3ds2pov and povray
  118. once for each frame of the animation. The beginning and ending frame numbers
  119. are determined from the file robot.vue. The format of the batch file is
  120. determined from the template file ani1.tpl. Basically the template file is
  121. duplicated once for each frame but with all occurrences of the characters $
  122. and # replaced by the file name and frame number respectively. Several
  123. sample template files are included which can be tailored to your specific
  124. needs.
  125.  
  126.  
  127. Environment Variable:
  128.  
  129. If you find that you're often using the same command options over and over
  130. again you can set up your default command line options in the 3DS2POV
  131. environment variable. e.g. If you generally use Vivid as your renderer you
  132. may want to add the following line to your autoexec.bat:
  133.  
  134.                          set 3DS2POV=-ov
  135.  
  136. Commands specified in the environment variable will be overridden by those
  137. specified on the command line.
  138.  
  139.  
  140. Known Bugs/Problems:
  141.  
  142. Orthogonal/user viewports, and camera roll are not implemented yet.
  143.  
  144. Solid background colors work with POV-Ray and Polyray but not with Vivid.
  145.  
  146. Fog works with POV-Ray but not with Polyray or Vivid.
  147.  
  148. Gradient and image mapped backgrounds are not implemented.
  149.  
  150. The camera field-of-view conversion isn't perfect. The rendered FOV will be
  151. close to the original but it won't be exact.
  152.  
  153. There is a known problem with the version of POV-Ray 1.0 that was shipped with
  154. the Image Lab book that prevents smooth triangles from rendering. If you have
  155. this version you can download the latest version from CompuServe or a local
  156. BBS (look for POVIBM.ZIP).
  157.  
  158.  
  159. Revision History:
  160.  
  161. 05/7/93
  162. Ver. 1.7   Directly reads .3DS files instead of the slow/bulky .ASC files.
  163.            Added support for 3DS 2.01 .vue files and fixed some bugs with
  164.            the .vue file parsing. Added morphing. Added support for the
  165.            Polyray raytracer. Textures now move with animated objects.
  166.            Default switches can be set in the 3DS2POV environment variable.
  167.  
  168. 12/14/92
  169. Ver. 1.6   Animation support added. Added support for Vivid output.
  170.            Identifiers that begin with a digit are now prefixed with
  171.            the letter 'N' rather than an underscore (for compatibility
  172.            with Vivid). Fog works (I think).
  173.  
  174. 10/18/92
  175. Ver. 1.5b  Correctly handles spotlight hotspot parameter. Multiple texture
  176.            libraries can be specified. A bug that occasionally resulted in
  177.            a zero length include file fixed.
  178.  
  179. 08/06/92
  180. Ver. 1.5   Fixed bug with spotlight falloff parameter.
  181.  
  182. 07/27/92
  183. Ver. 1.4   Modified for POV-Ray 1.0 output format. Uses 1.0's new box
  184.            primitive for bounding. Bounding ellipsoids are no longer used.
  185.            Added support for spotlights.
  186.  
  187. 06/04/92
  188. Ver. 1.3   Modified the parser to handle 3D Studio 2.0 ascii dump files as
  189.            well as 1.0. Added limited support for automatic texture handling.
  190.  
  191. 05/03/92
  192. Ver. 1.2   Added the octree bounding code from txt2pov. The parser is now a
  193.            little more bullet proof and should be able to handle minor
  194.            changes in the format of the ascii dump file.
  195.  
  196. 11/08/91
  197. Ver. 1.1c  Fixed the bug I inadvertently added to the txt output in v1.1b. 
  198.            Added texture names to the txt output.  These are used by v1.3 of
  199.            txt2pov (formerly txt2dkb).  The 32 bit version no longer requires
  200.            removal of 386 memory managers. SA
  201.  
  202. 10/15/91
  203. Ver. 1.1b  Minor source code modifications to allow program to compile with
  204.            GNU C 32 bit compiler.  Note: The 32 bit version (3ds2dkbx.exe)
  205.            requires a 386 /w 387 or a 486 to run.  2M or more RAM is
  206.            recommended.  Any 386 memory managers (386^Max/QEMM, etc) must be
  207.            removed before the 32 bit version will run. SA
  208.  
  209. 9/03/91
  210. Ver. 1.1   RIGHT <1.33 0.0 0.0 > in VIEW_POINT produces much better circles.
  211.            COLOR for the light sources moved outside the TEXTURE block (oops.
  212.            I'm still learning...) Jeff
  213.  
  214. 8/24/91
  215. Ver. 1.0   Original release, DKB, simple TurboC parser by Jeff.
  216.            Very slow by itself, workable when used in conjunction with 
  217.            Steve's optimizing bounder.  (TXT2DKB).
  218.  
  219. Addresses:
  220.                                         Steve Anger, Guelph, ON, Canada
  221.                                         CIS: 70714,3113
  222.                                         Internet: 70714.3113@compuserve.com
  223.  
  224.                                         Jeff Bowermaster, Greensboro, NC
  225.                                         CIS: 72040,2117
  226.                                         Internet: bowerman@garfield.ncat.edu
  227.  
  228.                                         ADEnet Boards i.e.:TGA: (510)524-2780
  229.