home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / Anwendun / Pov / POV302 / README.TXT < prev   
Encoding:
Text File  |  1997-07-18  |  21.0 KB  |  478 lines

  1.  
  2. /--------------------------------------------------------------------\
  3. ) Unofficial POVRay v3.02 for Atari M680x0 platform (x-port v2.00)   (
  4. \--------------------------------------------------------------------/
  5.  
  6. This is the final version of my POVRay v3.02 MS-DOS port to the Atari
  7. platform. This is the second 'complete' port for the Atari/TOS based
  8. compatibles. A complete list of changes from v3.00 (the last TOS port
  9. to be released in this series) to v3.02 can be found in REVISION.DOC.
  10.  
  11. A brief word of warning:
  12.  
  13. Although POVRay v3.02 is based partially on the algorithms from Dieter
  14. Bayer's FTPOV v2.2 and is therefore much quicker than the original
  15. POVRay v2.2, it does contain a lot of new features which are every bit
  16. as intensive as they are impressive. It is quite easy to produce a
  17. scene that will take forever to render even on the fastest of fast
  18. platforms. This means a number of the example images will render
  19. relatively slowly, and so give the false impression POVRay 3 is much
  20. slower than some of it's predecessors. For this reason, it may be
  21. worth experimenting with a few of the older scenes & capabilities
  22. before diving into things like atmospheric effects, focal blur,
  23. attenuated glass, halos and some of the other new processor-killing 
  24. functions which are now available.
  25.  
  26. It is STRONGLY ADVISED you equip yourself with AT LEAST a 68030
  27. processor and probably a 68881 or 68882 floating-point coprocessor
  28. as well. There is support for vanilla 68000 and 68030, but be prepared
  29. for IMMENSELY long render times if you do have to take this route. If
  30. you are lucky enough to own a 68040 processor with integral FPU, then
  31. you are not going to have too much of a problem at all. If you are
  32. absolutely DROWNING in luck and happen to have a 68060-based 'Hades060'
  33. or something like that, then you have far too much disposable income,
  34. and considering the nature of POV, probably far too much free time as
  35. well. :)
  36.  
  37. ]--------------------------------------------------------------------[
  38.  
  39. Configuration:
  40.  
  41. Setting up POVRay can be a little difficult if you are just starting
  42. to learn your way around the system.
  43.  
  44. You *can* use it directly from the Desktop, although that is a *very*
  45. tiresome way to go about things. You can also use a command line shell
  46. like MUPFEL which will make things a tiny bit easier but it can still
  47. be fiddly if you are not used to command line systems.
  48.  
  49. One of the best methods is to use a special POV shell like POVSHELL or
  50. the soon-to-be-released SHELLY by Henrik Lynngaard. This will automate
  51. most of the options and parameters passed to the POVRAY.TTP file,
  52. making life a lot easier.
  53.  
  54. I have my own system which relies on the Hisoft text editor which
  55. comes with Devpac and Lattice 'C' packages. That lets you integrate
  56. POVRay directly into the text editor, and you can render the scene in
  57. the topmost edit window by selecting POVRay from the dropdown tools
  58. menu. It's a great way to launch POV! Details on how to set this up
  59. are given in POVRUN.TXT, but you will have to get your hands on a copy
  60. of the Hisoft editor first!
  61.  
  62. 1) Renaming & locating the program
  63.  
  64. Pick a version of POVRay 3 from the list of binaries available - make
  65. sure it is one that suits your processor or you will achieve reduced
  66. performance and probably even nasty crashes!
  67.  
  68. When you have chosen a binary, rename it to 'POVRAY.TTP' and transfer
  69. it to the location where you want to use it. This will be your system
  70. BIN folder if you are using a command line to launch POV, or you could
  71. just transfer it to the root location in the supplied POVRAY3 folder.
  72.  
  73. 'POVRAY' is the universally agreed naming system for POV binaries on
  74. all computer systems. It is the name used in any examples and batch
  75. files you might encounter.
  76.  
  77. 2) Configuring POVRAY.INI
  78.  
  79. Locate the file 'POVRAY.INI' (which should be in the POVRAY3 folder)
  80. and load it into your favourite text editor. Edit the lines containing
  81. the keywords 'Display' and 'Verbose', according to the Atari-specific
  82. configuration docs found elsewhere in this archive. The files are
  83. called CFG_FALC.TXT, CFG_TT.TXT & CFG_ST.TXT. These changes simply
  84. ensure that POVRay will not attempt to try anything not possible on
  85. that particular machine, which includes preview modes on non-Falcon
  86. systems.
  87.  
  88. 3) Environment variables
  89.  
  90. There are *several* ways to configure POVRay, but it is clearly very
  91. helpful to set up the POVINI environment variable no matter what kind
  92. of setup you are trying to use. It can take away some of the problems
  93. you might encounter with the paths and locations of relevant files.
  94.  
  95. If you don't specify the location of the default POVRAY.INI file using
  96. the POVINI variable, you will have to specify it's location on the
  97. command line *every* time you try to render a scene! That would force
  98. you to keep the POVRAY.INI file beside the TTP file for simplicity and
  99. would probably require you to copy the scene file to the same location
  100. so everything can be found easily by the TTP! Yeuck!
  101.  
  102. To avoid all this exrta fiddling around, add the following line to the
  103. environment variable part your most frequently used config files. There
  104. are several different syntaxes for this depending on your system. A few
  105. of the more common formats are shown here:
  106.  
  107. # MiNT's 'MINT.CNF' configuration file
  108.  
  109. setenv POVINI f:\povray3\povray.ini
  110.  
  111. # MultiTOS's 'GEM.CNF' configuration file
  112.  
  113. setenv POVINI=f:\povray3\povray.ini
  114.  
  115. # Gemini's 'PROFILE' configuration file
  116.  
  117. setenv POVINI "f:\povray3\povray.ini"
  118.  
  119. # N.AES's 'N_AES.CNF' configuration file
  120.  
  121. export POVINI=f:\povray3\povray.ini
  122.  
  123. # GemRAM's 'GEM.CNF' configuration file    (under normal TOS)
  124.  
  125. setenv POVINI=f:\povray3\povray.ini
  126.  
  127. # ENV.CPX's environment variable syntax (under normal TOS)
  128.  
  129. POVINI=f:\povray3\povray.ini
  130.  
  131. Of course, you should check the syntax used in your current config
  132. files before adding any of these to make sure they are correct, and
  133. you should also edit the path to suit your own POVRay 3 installation.
  134.  
  135. If you *don't* use any of the systems quoted above, and don't have any
  136. configuration files to which you can add environment variables, then
  137. you should consider looking for an appropriate way to achieve this
  138. with an auto folder program or a CPX. Programs like SETENV, GEMRAM and
  139. ENV.CPX for the control panel will all do the job nicely under normal
  140. TOS. Other systems like MiNT, Geneva and Magic should all have config
  141. files you need without requiring extra software.
  142.  
  143. With the POVINI variable correctly configured, the POVRAY.TTP binary
  144. will be able to locate the default POVRAY.INI file every time a POV
  145. scene is rendered, regardless of where the TTP file happens to be at
  146. that time. You could even place POVRAY.TTP in your BIN directory if you
  147. intend to launch it from a command line!
  148.  
  149. ]--------------------------------------------------------------------[
  150.  
  151. Operation:
  152.  
  153. The simplest way to launch POV is to add any special options to the
  154. POVRAY.INI file (or some other secondary INI file) and use:
  155.  
  156.  povray.ttp -isource.pov [file.ini]
  157.  
  158. ...either from the desktop, a command line shell or from a POV shell.
  159.  
  160. You don't *actually* need to specify for the default POVRAY.INI file
  161. because POV will find it automatically so long as it is specified in
  162. the POVINI environment variable. If the POVINI variable is missing or
  163. is incorrectly set up, the POVRAY.INI file *must* be specified for it
  164. to be noticed by POVRay. If your scene renders with the wrong options
  165. then it is likely your POVRAY.INI file is not being located properly!
  166.  
  167. It is worth trying a few quick tests with simple scenes to make sure
  168. the POVRAY.INI file is being read properly. Sometimes it can be hard
  169. to tell without making some obvious changes and watching the result.
  170. Turning the 'verbose' option on and off is a good way to see if the
  171. INI file is being used. It's also nice and easy to do!
  172.  
  173. ~
  174.  
  175. Alernatively, you can specify the in/out filenames in the INI file
  176. itself like this:
  177.  
  178.  Input_File_Name=f:\povray3\myscene.pov
  179.  Output_File_Name=f:\povray3\myscene.tga
  180.  
  181. And just use:
  182.  
  183.  povray.ttp [file.ini]
  184.  
  185. You WILL need to specify POVRAY.INI here if you don't specify anything
  186. else or you will be presented with the help screen. Starting POVRay
  187. without a command line will ALWAYS bring up this help screen, even
  188. with the POVINI environment variable correctly set up!
  189.  
  190. ~
  191.  
  192. Or if you are not keen on the INI file system (and why not???) you
  193. can always revert to the tiresome old POV2 method:
  194.  
  195.  povray.ttp -isrc.pov -odst.tga -q9 +ft +dl +x +p +b30 povray.ini
  196.  
  197. ...etc...etc...
  198.  
  199. ~
  200.  
  201. Launching animations is more complicated, and depends on how the
  202. animation is set up. See POVRAY.DOC for details.
  203.  
  204. If you are using the 'internal animation loop' feature of POVRay, then
  205. it will be sufficient to set up the appropriate options in the default
  206. INI file in order to render an animation. If you are depending on the
  207. external animation loop, or shelling out to the CLI, then you will
  208. need to read the documentation because it does get more complicated.
  209.  
  210. ]--------------------------------------------------------------------[
  211.  
  212. Additions:
  213.  
  214. Preview display feature
  215. -----------------------
  216.  
  217. The most significant addition is 16-bit truecolour preview support
  218. (Falcon only) which can be invoked via the INI file or CLI. You can
  219. actually choose which 16-bit mode you want to use - low, medium or
  220. high (high is RGB only) and if you use Videlity, BlowUP, VI or
  221. FalconScreen, any custom TC modes you have set up will be available
  222. as required. Even if the mode is a non-standard aspect ratio (VGA
  223. medium = 320x480 or perhaps 416x624) then the program will adjust the
  224. preview render so it still looks 'square'.
  225.  
  226. [BlowUP users: Because BlowUP can't differentiate between desktop
  227. resolutions when changing video mode, all modes (low, medium & high) will
  228. result in exactly the same screen display. If you have not enabled a
  229. BlowUP TC mode then the normal desktop modes will be available instead.]
  230.  
  231. [ScreenBlaster users: Screenblaster has no VSetMode function, and so
  232. is completely incapable of supporting resolution changes other than
  233. via the Desktop. It can't be used with the preview modes for this very
  234. reason. Use another screen expander if you want preview support.]
  235.  
  236. The video mode INI file options are as follows:
  237.  
  238. Display = on/off    - enable/disable truecolour display
  239.  
  240. Video_Mode = l         - low res: 320x200/320x240/custom-low
  241. Video_Mode = m         - med res: 320x400/320x480/custom-med
  242. Video_Mode = h         - high res: 640x400/640x480/custom-high
  243.  
  244. Alternatively, if you prefer to use the command line instead of the
  245. INI file, you can use:
  246.  
  247. -d            - disable display
  248.  
  249. +dl            - enable display (low res)
  250. +dm            - enable display (med res)
  251. +dh            - enable display (high res)
  252.  
  253. The display mode supports the following capabilities:
  254.  
  255. 1) Flexible truecolour display supporting both standard & custom modes.
  256. 2) Vista-buffer preview support.
  257. 3) Mosaic-preview support with automatic size correction.
  258. 4) Automatic display ratio correction - for 'brickbat' video modes.
  259. 5) Automatic size correction for images larger than display.
  260.  
  261. Future expansion will allow overscan modes to be used on RGB monitors.
  262.  
  263. Screenblanker
  264. -------------
  265.  
  266. The second important addition is the built-in (Falcon) screenblanker.
  267. When both 'verbose' and 'display' are disabled in the 68030+ versions,
  268. a built-in screenblanker will kick in immediately after parsing has
  269. finished. This screenblanker will only turn off when the scene is
  270. interrupted by a keypress or when the scene has completed. Moving the
  271. mouse will not have any effect. The screen blanker speeds up rendering
  272. by a few % and stops your monitor burning out in the process. :)
  273.  
  274. Notes:
  275.  
  276. * Because the preview modes are Falcon-specific, you should not
  277.   attempt to use them on non-Falcon machines. The 68000 versiond do
  278.   not support the display and screenblanker features, but the 68030+
  279.   binaries do. These features will only work on the Falcon. If you
  280.   are using a non-Falcon machine with a non-68000 binary, you should
  281.   turn 'display' off and 'verbose' on to prevent any crashes.
  282.  
  283. ]--------------------------------------------------------------------[
  284.  
  285. Changes:
  286.  
  287. There are some small extras implemented in the Atari version for
  288. various reasons. They are listed here:
  289.  
  290. * When 'verbose' is disabled and 'display' is enabled, the credits
  291.   will not be shown. This speeds up execution and prevents loads of
  292.   text scrolling up the screen before anything happens. This is very
  293.   annoying when you are not using a very large screen mode, and you
  294.   have to wait for the scrolling to stop. It's not such a problem
  295.   on the PC where DOS is character-mapped and therefore very fast,
  296.   but TOS used bitmapped graphics modes all the time and scrolling
  297.   text can sometimes be relatively slow. CLI/INI options are still
  298.   shown for practical reasons. If you want to read the credits, then
  299.   you can leave the verbose switch on (default).
  300.  
  301. * Because POV is such an excellent benchmarking program, it is
  302.   useful to be provided with accurate timing information for each
  303.   scene. Unfortunately, the original version used the system clock
  304.   and so was only accurate to the nearest 2 seconds. This special
  305.   version is internally accurate to 1/200th of a second, and the
  306.   final figures are accurate to 2 decimal places.
  307.   
  308. ]--------------------------------------------------------------------[
  309.  
  310. Omissions:
  311.  
  312. There are a number of things still missing from this Atari version and
  313. they are listed here for reference:
  314.  
  315. * ASCII console GUI interface. This is MSDOS specific, isn't actually
  316.   needed for anything in particular.
  317.  
  318. There may be other differences from the MSDOS version, but these are
  319. the ones I am currently aware of. There may also be some bugs which
  320. have not yet been discovered. Some bugs present in the MSDOS version
  321. have actually been fixed.
  322.  
  323. ]--------------------------------------------------------------------[
  324.  
  325. Bugs and other problems:
  326.  
  327. There are a few minor bugs and inconsistencies specific to this port
  328. which are described here:
  329.  
  330. * Multitasking support while using the display modes is unlikely to
  331.   work at the moment. This will be corrected in future versions. It
  332.   will however still work under Magic in single-tasking mode so it's
  333.   not a particularly serious problem. It just means everything else
  334.   has to stop while rendering takes place. The program will however
  335.   multitask quite happily if you don't enable the display option.
  336.  
  337. * The 68000+68881 version of the executable (POV68SFP.TTP) has never
  338.   actually been tested. In fact, the floating point libraries used
  339.   in the program haven't even been tested since they were compiled
  340.   specifically for the creation of this program. If it doesn't work
  341.   then I'm afraid you'll just have to put up with the 68000 version.
  342.  
  343. ]--------------------------------------------------------------------[
  344.  
  345. Executables supplied:
  346.  
  347. * POV68000.TTP    - TOS compatible + 68000.
  348.  
  349.   This version should run on any Atari compatible machine, but it will
  350.   run very slowly. It *only* contains instructions which are supported
  351.   on the 68000 processor. This means is the only binary capable of
  352.   running on a standard ST or STE. It will *not* allow you to use the
  353.   preview display option.
  354.  
  355. * POV68SFP.TTP    - TOS compatible + 68000 + I/O mapped 68881/2.
  356.  
  357.   This version will _only_ run on a 68000 based Atari compatible with
  358.   an I/O mapped 68881/2 coprocessor. This should include the Mega/MSTE
  359.   with 68881/2 FPU, although it has never actually been tested! The
  360.   binary was compiled with the special SFP004 Portable Math Library
  361.   patchlevel 23. Just like the vanilla 68000 version, It will *not*
  362.   allow you to use the preview display option.
  363.  
  364. * POV68030.TTP    - TOS compatible + 68020/68030/68LC040.
  365.  
  366.   This version will run on *any* 68020, 68030, 68040/68LC040 or even
  367.   68060 based Atari compatible, but it does not rely on a coprocessor
  368.   and will therefore run relatively slowly. It is ideal for use with
  369.   Falcon030, TT or PAK machines without an FPU. This is normally the
  370.   version you have to put up with while you are waiting for your 68882
  371.   to arrive! This version *does* support truecolour preview modes, but
  372.   it should only *ever* be enabled on Falcon machines.
  373.  
  374. * POV68881.TTP    - TOS compatible + 68020/68030 + 68881/2.
  375.  
  376.   This version will only run on 68020 or 68030 based Atari compatibles
  377.   with a 68881/2 coprocessor, or a 68040 or 68060 based machine with
  378.   the appropriate FPSP (Floating Point Software Package) installed.
  379.   This version is the best option for most Atari POVRay users, since
  380.   Falcon and TT machines are easily equipped with an FPU if they do
  381.   not contain one already. It is the second fastest of all these
  382.   executables. This version *does* support truecolour preview modes,
  383.   but it should only *ever* be enabled on Falcon machines.
  384.  
  385. * POV68040.TTP    - TOS compatible + 68040/68060 + FPSP emulator.
  386.  
  387.   This special version is compiled _specifically_ for 68040 or 68060
  388.   based Atari compatibles with the appropriate FPSP (Floating Point
  389.   Software Package) installed. It will *not* run on any other type
  390.   of platform, due to it's extensive use of integral 68040 instuctions.
  391.   This version of POVRay is the fastest version of all. If you have a
  392.   68040 or 68060, then you really should use it! This version *does*
  393.   support truecolour preview modes, but it should only ever be enabled
  394.   on Falcon machines.
  395.  
  396. ]--------------------------------------------------------------------[
  397.  
  398. Notes on the new executables:
  399.  
  400. * Machines equipped with a 68LC040 will be forced to use the POV68030
  401.   binary because the LC chips have *no* integral FPU hardware!
  402.  
  403. * For practical reasons, it is suggested that users attempt to obtain
  404.   a hardware FPU if they do not have one already. POVRay is not the
  405.   kind of program that will run quickly without an FPU, if indeed
  406.   it can be called 'quick' under any circumstances - but lack of an
  407.   FPU will significantly increase rendering times and may even be
  408.   impractical for most purposes. The practical minimum specification
  409.   required to run POVRay is usually a 68030+68882 running at 16MHz or
  410.   above, but it depends a great deal on your level of patience. :)
  411.  
  412. * All versions supplied with this package are GCC++ v2.7.2.2 generated
  413.   using -O3 optimisation (with a couple of exceptions for the sake of
  414.   tweaking), and the new GCC MiNTLIBs patchlevel 46. A special version
  415.   of the GCC/PML libraries was generated for each binary, so all of
  416.   the code present is specific for that processor configuration. The
  417.   68040 binary uses 68040 compiled libraries etc. etc.
  418.  
  419. * I spent a long time experimenting with the GCC++ v2.7.2.2 compiler
  420.   optimisation switches to get these programs running as fast as
  421.   possible, so I know they are as close to 'fast' as they are going
  422.   to get with that compiler. Versions generated with other compilers
  423.   such as Lattice and Pure-C always result in slower code, except
  424.   in the case of vanilla 68000, where Lattice appears to have a
  425.   slight edge due to slightly better 68k software float libraries.
  426.  
  427. * Anyone using the 68040 version should be made aware that installing
  428.   a copy of the 'MC68040 ToolKit' driver software in the auto folder
  429.   can accelerate rendering to something like 250% normal expected
  430.   performance. You can achieve even more speed by using the supplied
  431.   ECBACK tool to enable the 68040 copyback-cache feature over the
  432.   entire area of FastRAM. This typically yields noticable improvement
  433.   over the basic ToolKit-enhanced figures.
  434.  
  435. ]--------------------------------------------------------------------[
  436.  
  437. Notes:
  438.  
  439. * The 16-bit display modes and screenblanking are only available on
  440.   Falcon machines, and won't work on anything else. Don't try to use
  441.   these features on the 030+ binaries if you don't have a Falcon.
  442.   Simply turn 'display' 'off' and 'verbose' 'on' to make sure these
  443.   features are skipped.
  444.  
  445. * The POVMSDOS.DOC file covers a number of points which are still
  446.   relevant to this Atari version - mainly due to the fact it was
  447.   ported from the MSDOS sourcecode. Any PC specific information
  448.   however should definitely be treated with due caution!
  449.  
  450. ]--------------------------------------------------------------------[
  451.  
  452. Further notes:
  453.  
  454. * Read the Atari-specific docs stored elsewhere this package, as they
  455.   deal with alternative ways of setting the software up, and several
  456.   other machine-related issues that are not covered here.
  457.  
  458. ]--------------------------------------------------------------------[
  459.  
  460. This seems to be the only version of POVRay v3.xx available for TOS
  461. based systems which actually works reliably, and supports all of the
  462. platform-specific features like the preview mode & precision timer.
  463. Hopefully, this version will be adopted as the 'official' unofficial
  464. TOS port and so benefit from future improvements as they become
  465. available to me.
  466.  
  467. Queries and platform-specific bug reports should be aimed at the
  468. following email address:
  469.  
  470. Email: <dmlittle@compuserve.com>
  471.  
  472. The Atari/TOS version of the sourcecode can be obtained from the same
  473. address if anyone wishes to make their own improvements, although I
  474. would like to be notified so it can be done in a non-conflicting way.
  475.  
  476. Doug Little ~ July 1997
  477.  
  478.