home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 4 / af004.adf / Surf / BezSurf.DOC < prev    next >
Text File  |  1988-11-13  |  7KB  |  190 lines

  1. Program: BezSurf
  2. Author: Eric Davies
  3. Resources and Tech Assistance: LateNight Developments (LND) Corporation.
  4.  
  5. Distribution
  6. ------------
  7. BezSurf is public domain. Feel free to copy it, enhance it, or port it to
  8. other machines, etc.
  9.  
  10. Compilation
  11. -----------
  12. Compiled under Lattice C 4.0 at the LND offices.
  13. Will also compile under Aztec 3.4a and up.
  14.  
  15. Software Disclaimer
  16. -------------------
  17. This is your standard software disclaimer:
  18.   Use this software at your risk.
  19.   Any loss of sleep is your own concern.
  20.  
  21. Document Disclaimer
  22. -------------------
  23. This document gives a partial description of BezSurf and its use. Many
  24. of the menu-items and gadgets are not described here. I believe most people
  25. will discover their purpose without too much trouble. If I'm wrong, you can
  26. query me by email at:
  27.         edavies@uvicctr
  28.      or edavies@uvvm.bitnet
  29. Or by snail mail (if some part of Canada Post is not on strike) at:
  30.       Eric Davies
  31.       1442 Harrop Rd.
  32.       Victoria, B.C.
  33.       Canada
  34.       V8P 2S6
  35. How soon you get a response depends on how behind my school work I am
  36. and how easily I can determine a return path to you :-).
  37.  
  38.  
  39. Description
  40. -----------
  41. BezSurf (or Surf for short) is a program for producing bezier surfaces of
  42. revolution. It produces awesome pictures of wineglasses and doorknobs, and
  43. other objects one could turn on a lathe. BezSurf includes the capacity to
  44. map iff image files onto any surface that it can draw.
  45.  
  46. History
  47. -------
  48. I originally wrote BezSurf for my final project in an introductory course
  49. in computer graphics at the University of Victoria. The target machine
  50. was a colour Sun Work Station. Being a loyal amigoid, I ported it down to
  51. the Amiga when I had a bit more free time, the Late Night Developers
  52. supplying resources and technical assistence as needed. I proudly claim any
  53. errors or bugs as my own, following the lead of a certain wine glass
  54. manufacturer, "the minute flaws in the product are your guarantee of its
  55. handcrafted nature".
  56.  
  57. Usage
  58. -----
  59. I've run it successfully from Matt Dillon's Shell and the bare cli.
  60. It should run fine from workbench, provided somebody whips up an icon
  61. for it.
  62.  
  63. Basic Usage
  64. -----------
  65.     Once run, you should see a 320x200 lores screen with the text
  66.     "lines curves wire shade map panel" along the top edge. These are the
  67.     basic control gadgets.
  68.  
  69.     1)  press "lines" (screen clears and crosshairs appear).
  70.         press and hold down the left mouse button.
  71.         move the mouse someplace else and release the button.
  72.         a line should have been rubber banded and left on the screen.
  73.         repeat as desired {
  74.             press and drag the mouse to define new line connected to
  75.             last one line.
  76.         }
  77.  
  78.     2)  press "curves".
  79.         the endpoints of the first line should be bracked by squares.
  80.         repeat as desired {
  81.             bring the left mouse button near one of squares.
  82.             press left button, move to new location, and release left button.
  83.             nearest square should have accompanied mouse, causing the
  84.             line to curve in strange and wonderful ways.
  85.             press right button to move the next line.
  86.         }
  87.  
  88.     3)  press "panel"
  89.         takes you to the control panel, so you can change the lighting, save
  90.         files, etc. It is suggested that you try "tilt" with about 20
  91.         degrees ( adds a more 3d effect ).
  92.         to get back to display, press [display] on the control panel.
  93.  
  94.     4)  press "wire"
  95.         generates wireframe with hidden line removal.
  96.  
  97.     5)  press "shade"
  98.         generates shaded image with hidden surface removal.
  99.  
  100.     6)  saving the images you created is done via the "files" menu in the
  101.         control panel.
  102.             save as... saves the ilbm to the specfied file name
  103.             save first... tacks on a ".0" to the file name and saves
  104.             save next... tacks on an ascending number and saves
  105.         "save first" and "save next" are provided in case somebody wants to
  106.         try producing animation sequences with Surf.
  107.  
  108.     7)  Anything else, excluding maps, should be self apparent with a little bit
  109.         of experimentation.
  110.  
  111. Error Messages
  112. --------------
  113. Error messages are displayed in a requestor. If displayed, you must click
  114. in the requestor's close box to continue. The messages usually indicate
  115. that your file name is wrong, screwy file contents, you don't have enough
  116. memory, etc.
  117.  
  118. Aborting a time consuming activity
  119. ----------------------------------
  120. Under the "Image" menu, the "abort" item will terminate any drawing in
  121. progress.
  122.  
  123. Mapping Iff images onto Surfaces (Grey Scale Result)
  124. --------------------------------
  125. This is my answer to photon paints mapping of images onto spheres, cones,
  126. etc. Before you can perform the mapping, you need two things: (1) a loaded
  127. map image, and (2) a surface { not necessarily in that order though its
  128. probably better to load the image first if you are not sure you have enough
  129. memory }.
  130.  
  131.     Loading the map image:
  132.         Go to the control panel window (see earlier discussion).
  133.         Under the files menu, select the "Open Map" item.
  134.         Enter the pathname of an ilbm image file (note:Ehb not supported).
  135.         Wait until the hourglass goes away.
  136.  
  137. Now, go and define a surface if you haven't already. Once you have both a
  138. surface defined and an image file loaded, click on the "Map" gadget on the
  139. display screen. Be prepared to wait an hour or two for your image to
  140. be produced, it is very slow.
  141.  
  142. Using lots of bezier and revolution slices (ie, very small patches) results
  143. in images that look less scarred.
  144.  
  145. The "MapRevV" and "MapRevH" sliders determine how many times the map image is
  146. replicated on the surface.
  147.  
  148. Closing the map file frees up the memory used to store the map image file.
  149. Openning a new map file automatically closes the old one.
  150.  
  151. Mapping Iff images onto Surfaces (Colour Result)
  152. --------------------------------
  153. The idea here is to produce three different image files, one that contains
  154. the red component, one the green, and one the blue. After the files are
  155. produced, use the mergergb tool to combine them into a single file for use
  156. by the RAY2 program available from the QRT (public domain) package or DBW
  157. (shareware).
  158.  
  159. procedure: set interlace and lores screen.
  160.            set the grey model to "R only"
  161.            load the iff image file
  162.            set the screen color to "Red" (or grey).
  163.            Generate the surface mapping.
  164.            Save with a ".r" extension.
  165.            set the grey model to "G only"
  166.            load the iff image file again
  167.            set the screen color to "Green" (or grey).
  168.            Generate the surface mapping.
  169.            Save with a ".g" extension.
  170.            set the grey model to "B only".
  171.            load the iff image file again.
  172.            set the screen color to "Blue" (or grey).
  173.            Generate the surface mapping.
  174.            Save with a ".b" extension.
  175.  
  176.            now run the mergergb program with the filename without extensions
  177.            as the sole argument. Ie, if you named the files smith.r, smith.g,
  178.            and smith.b, then type:
  179.                     mergergb smith
  180.            In this case, mergergb will produce smith.tmp, which can then be
  181.            fed into RAY2. Without other arguments, RAY2 wil produce an
  182.            interlaced ham image.
  183.  
  184. Future
  185. ------
  186. Be kind of neat if somebody adapted BezSurf to produce object descriptions
  187. for Sc*lpt3D or VideoSc*pe3D. Anyone feeling brave and bored?
  188.  
  189.  
  190.