home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 3 / RISC_DISC_3.iso / resources / etexts / gems / gemsv / ch5_5 / readme.txt < prev    next >
Text File  |  1995-03-04  |  3KB  |  67 lines

  1.                             IMPORTANT REMARKS
  2.                                   about
  3.  
  4.                                   OOPOV
  5.  
  6.                                 written by
  7.                                Gabor Marton
  8.        Department of Process Control, Technical University of Budapest
  9.               Budapest, Muegyetem rkp. 9/R., H-1111 Hungary
  10.                          marton@seeger.fsz.bme.hu
  11.  
  12.  
  13. 1. The executable 'oopov' can be generated by 'make'. In case when GNU C++
  14. compiler ('g++') is not present at the site, the macro CC in the 'makefile'
  15. should be changed properly. The command line option '-L/usr/local/lib' in the
  16. linking command should probably also be changed.
  17.  
  18. 2. Starting 'oopov' without any command line option prints out the following:
  19.  
  20. usage: oopov [SWITCHes] {FILENAME | -r #}
  21. where
  22.     SWITCH can be
  23.         -a v             :accelerate via Voronoi-diagram
  24.         -a b             :brute-force intersection (default)
  25.         -o FILENAME      :name of output file
  26.         -r #             :creates # number of random objects
  27.                           (also writes them into random.pov)
  28.         -r -1            :reads objects from random.pov
  29.         -v               :verbose printout
  30.         -x #             :horizontal resolution of image
  31.         -y #             :vertical resolution of image
  32.     # is an integer
  33.  
  34. A good trial is typing in first 'oopov -r 200 -a v', which generates 200
  35. random spheres and renders them using the Voronoi-diagram acceleration
  36. technique, then typing in 'oopov -r -1', which renders the same spheres by
  37. the brute-force method, and comparing the running times.
  38.  
  39. 3. The program 'oopov' is a framework for an object oriented implementation
  40. of the widely known ray tracer POV-Ray. Now it can render spheres only
  41. (although the parser recognizes CSG objects and also builds the corresponding
  42. object structure, the intersection calculation is not implemented for CSG).
  43. It also recognizes a few textures (pigment{solid},pigment{checker}).
  44.  
  45. 4. The structure of the image file is as simple as possible (similar to that
  46. of Heckbert's minimal ray tracer):
  47.  
  48. +-------------+-------------+
  49. | (int) XSIZE | (int) YSIZE |
  50. +-------------+------+------+-------------+--------------------+
  51. | (unsigned char) R1 | (unsigned char) G1 | (unsigned char) B1 |
  52. +--------------------+--------------------+--------------------+
  53. | (unsigned char) R2 | (unsigned char) G2 | (unsigned char) B2 |
  54. +--------------------+--------------------+--------------------+
  55.                      .
  56.                      .
  57.                      .
  58. +--------------------+--------------------+--------------------+
  59. | (unsigned char) Rn | (unsigned char) Gn | (unsigned char) Bn |
  60. +--------------------+--------------------+--------------------+
  61.  
  62. where n = XSIZE*YSIZE
  63.  
  64. 5. The image viewer 'show' can be generated by 'make -f show.m', although it
  65. can be used only if Starbase is installed on the (HP) workstation. Probably
  66. the paths should also be modified in 'show.m'.
  67.