home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / r / rend24i.zip / REND24.DOC < prev    next >
Text File  |  1992-10-18  |  42KB  |  937 lines

  1. ----------------------------------------------------------------------------
  2.  
  3.  
  4.                 Rend24 - A Batch Image Conversion System
  5.  
  6.                        Written by Thomas Krehbiel
  7.  
  8.                   Copyright ⌐ 1991,1992 Thomas Krehbiel
  9.                           All Rights Reserved
  10.  
  11.  
  12. ----------------------------------------------------------------------------
  13.  
  14. NOTE TO REGISTERED USERS
  15.  
  16.     I want to apologize for the delay in sending this version out.
  17.     I wanted to clean up a few bugs and add a couple new things for
  18.     this version, but unfortunately due to other commercial software
  19.     commitments (GVP's CineMorph and ImageFX, to be precise) my spare
  20.     time has been very scarce recently.  At any rate, here it is at last.
  21.     Hope you enjoy it, and I hope the lateness of it has not caused too
  22.     much grief.  Thanks for registering!
  23.  
  24.  
  25. NOTE
  26.  
  27.     This documentation assumes a basic familiarity with AmigaDOS and
  28.     the Amiga interface.  If you aren't familiar with the concepts of
  29.     files, directories, gadgets, windows, etc. you should consult your
  30.     "Introduction to the Amiga" manual.  Another excellent source of
  31.     information is your local Amiga users group.
  32.  
  33.  
  34. DISTRIBUTION
  35.  
  36.     (This does not apply to the registered version of Rend24.)
  37.  
  38.     Rend24 is being distributed as Shareware.  If you find this program
  39.     useful, please consider sending a donation of $30 or so to the
  40.     author (address given at the end of this document).  In return,
  41.     I will send you a disk with the latest registered version of the
  42.     program.  The registered version does not contain any "guilt"
  43.     messages.
  44.  
  45.     If you are already a registered user of Rend24, send me a disk
  46.     and I'll send you the registered version of Rend24 1.04x.
  47.  
  48.     Rend24 may be freely distributed to any bulletin board, network, or
  49.     through any public domain library collection, so long as no fees
  50.     (beyond reasonable media costs) are charged for such distribution.
  51.     This product is being distributed "as is", with no warranties
  52.     expressed or implied as to the use or misuse of the program.
  53.  
  54.  
  55. INTRODUCTION
  56.  
  57.  
  58.     Rend24 was originally written as an excercise in converting
  59.     24-Bit IFF files into displayable resolutions.  At that time,
  60.     I was working with the Toaster's Lightwave 3D often, and without
  61.     the benefit of a single-frame controller, it was somewhat awkward
  62.     getting a displayable animation out of Lightwave.  Lightwave is
  63.     capable of saving each frame it generates as a 24-Bit IFF file;
  64.     hence, an idea was born.
  65.  
  66.     What I needed was a program that would wait around in the
  67.     background while Lightwave generated a frame.  Then, when the
  68.     frame was saved to disk, the program would jump in and convert
  69.     the 24-bit file down to an Amiga-displayable format and pack
  70.     it into an IFF Animation file and return to waiting for the
  71.     next frame.
  72.  
  73.     So I set out to write my own program to do the job.  Along the
  74.     way it has acquired a number of useful features which don't relate
  75.     at all to the original plan.  You can use it to convert GIF
  76.     files to Amiga format.  You can use it to view JPEG files directly.
  77.     You can use it interactively convert VistaPro generated files into
  78.     DCTV animations.  This program does a lot for the money...
  79.  
  80.  
  81. CONCEPT
  82.  
  83.     Rend24's purpose is to convert one or more input images into
  84.     individual viewable ILBM images or a single viewable ANIM animation.
  85.     The input images may be 24-bit ILBMs, GIF format images, or even
  86.     JPEG compressed images.  You control the format of the output
  87.     images and/or animations, including the color depth, dithering,
  88.     and size.
  89.  
  90.     Rend24's strength lies in its ability to convert batches of images
  91.     at a time.  You tell Rend24 where to find the input images, how many
  92.     there are, and then sit back and watch it go.
  93.  
  94.  
  95. FEATURES
  96.  
  97.     o Runs under Workbench 1.3, 2.0, and 3.0.
  98.  
  99.     o Generally fast conversion times.
  100.  
  101.     o Supports most standard IFF-ILBM image formats, from 2-color through
  102.       HAM all the way up to 8- and 24-bit.
  103.  
  104.     o Supports reading Compuserve GIF format images directly.
  105.  
  106.     o Supports reading JPEG/JFIF compressed images directly (if somewhat
  107.       slowly...).
  108.  
  109.     o Can generate individual pictures or a standard IFF-ANIM Op 5 animation,
  110.       with or without palette locking.
  111.  
  112.     o Supports HAM-E and DCTV format rendering.
  113.  
  114.     o Supports Floyd-Steinberg dithering to increase the number of apparent
  115.       colors.
  116.  
  117.     o Now includes a handy-dandy front-end for CLI-phobes.
  118.  
  119.     o Supports arbitrary scaling of input images.
  120.  
  121.  
  122. HARDWARE REQUIREMENTS
  123.  
  124.      Rend24 should run on any Amiga with any amount of chip and fast
  125.      memory.  However, due to the nature of 24-bit image manipulation,
  126.      Rend24 can use up quite a bit of memory loading and converting an
  127.      image.  Working with 320x200x24 images I would say you would need
  128.      1Meg minimum.  Working with 768x480x24 images you will probably
  129.      need at least 3Meg of free memory.  Rend24 always uses fast memory
  130.      except for the memory to open the display screen, so chip memory
  131.      should not be a problem.
  132.  
  133.      Rend24 is fully Workbench 2.0 compatible (as of the time of this
  134.      writing, at least).  In fact, it takes advantage of a couple of
  135.      features in 2.0 which make Amiga mode conversion times a tad
  136.      faster.
  137.  
  138.      Rend24 also works as expected under Workbench 3.0.
  139.  
  140.  
  141. INSTALLATION
  142.  
  143.     Rend24 is fairly easy to install.  Simply drag the program icon
  144.     to wherever you would like it to reside.  It doesn't have to be
  145.     in your C: directory (although if you plan to use the program
  146.     from CLI you might want to put it in your command path somewhere).
  147.  
  148.     Certain features of Rend24 require some libraries to be installed
  149.     in your LIBS: directory.  There should be an installation program
  150.     accompanying the main program, which will guide you through
  151.     installing the libraries.  The libraries are:
  152.  
  153.         hame.library        Required for generating HAM-E images.
  154.  
  155.         dctv.library        Required for generating DCTV images.
  156.  
  157.         arp.library         Required under version 1.3 of the
  158.                             operating system to have a file
  159.                             requester available in the front end.
  160.  
  161.     That's it!  That wasn't so hard, was it? :)
  162.  
  163.     An INSTALL script should be included to automate the installation
  164.     process for you.
  165.  
  166.  
  167. RUNNING THE PROGRAM FROM WORKBENCH
  168.  
  169.     Couldn't be easier... simply double click the Rend24 icon and
  170.     in a few seconds a window will appear on your Workbench with
  171.     a whole bunch of gadgets in it.  This is what I call the "Front End"
  172.     window, and is where you tell Rend24 what you want to do in a
  173.     (hopefully) convienient manner.
  174.  
  175.  
  176.     Source Image Pattern
  177.  
  178.         This is where you enter input file(s).  Click in the string gadget
  179.         and just type the full pathname of image you want to convert.
  180.         Or, you can click on the Choose gadget to the right to open a
  181.         file requester where you can choose the input image.
  182.  
  183.         You can specify a standard wildcard pattern for the source image,
  184.         to convert more than one at a time.  The pattern is the same
  185.         used by standard AmigaDOS commands (#?)... you may also use
  186.         the Unix-style '*' character as a wildcard.  So if you specify
  187.         "DollFace*.pic" as the source image pattern, then all files
  188.         matching that pattern will be converted.
  189.  
  190.         If you are using the Frame Count gadget (see below), then enter
  191.         only the filename "base" without any numbers.
  192.  
  193.         ** NOTE **  Be sure you press RETURN after entering text into
  194.         the string gadget, or Rend24 will not accept it.
  195.  
  196.  
  197.     Source Frame Count
  198.  
  199.         This is used when you are converting a series of frames output
  200.         by, for example, Lightwave or VistaPro.  It expects the source
  201.         image filenames to be in the format "Picture001", "Picture002",
  202.         "Picture003", etc.  You enter the base name of the files (eg.
  203.         what you entered in Lightwave or VistaPro for the file prefixes;
  204.         do NOT include the numbers afterward!) into the Source Image
  205.         Pattern gadget, and then enter the number of frames you want to
  206.         convert in the Source Frame Count gadget.
  207.  
  208.  
  209.     Start
  210.  
  211.         You can use this gadget to enter a different starting frame
  212.         number when converting a series of frames (using the Frame
  213.         Count gadget above).  Normally, Rend24 will start at frame
  214.         1, but there may be occasions when you would need to start
  215.         somewhere else (when generating only a portion of an
  216.         animation, for instance).
  217.  
  218.  
  219.     Dest Picture Pattern:
  220.  
  221.         If you want to generate individual IFF-ILBM pictures, you
  222.         enter the full pathname of the output file here.  You can also
  223.         click on the Choose gadget to the right to bring up a file
  224.         requester to make you selection easier.
  225.  
  226.         If you are converting more than one input file, you will probably
  227.         want to specify a pattern for the output pictures.  The pattern
  228.         is just like a standard pathname, except there should be a single
  229.         '*' character in the path somewhere.  For each file converted,
  230.         the '*' character will be replaced with the name of the input
  231.         image currently being converted, minus any extensions.  So if
  232.         the current input image is "DollFace.pic" and your output pattern
  233.         is "mydrive:*.ham" then the output filename for "Dollface.pic"
  234.         will by "mydrive:Dollface.ham".
  235.  
  236.  
  237.     Dest Animation:
  238.  
  239.         If you want to create an animation file, then enter the full
  240.         pathname of the destination animation file here.  Once again,
  241.         you can click on the Choose gadget to bring up a file requester.
  242.         All files converted will be packed into this animation file.
  243.  
  244.         Note that you cannot append to an existing animation file; you
  245.         can only create an animation from the conversions done in a
  246.         single Rend24 session.  So to create an animation you need to
  247.         either use an input pattern or specify a frame count.  Otherwise
  248.         the animation will only have one frame in it.
  249.  
  250.  
  251.     Output Image Format:
  252.  
  253.         This cycling gadget controls the output image type.  "Lumascale
  254.         B&W Image" will create an NTSC greyscale image, created
  255.         by taking the luminence value of the red, green, and blue components
  256.         of each pixel.  "Greyscale Image" will also create a greyscale
  257.         image, but it simply averages the red, green, and blue components
  258.         of each pixel to get the grey value.  "Color Image" will create
  259.         a register-mapped color image.  "HAM Image" will create a HAM
  260.         (Hold and Modify) image.
  261.  
  262.         Note that if you have selected DCTV rendering, this gadget is
  263.         ignored.  DCTV rendering always uses full NTSC color.
  264.  
  265.         Following is a table of the maximum amount of colors available
  266.         for each image format:
  267.  
  268.  
  269.             Format              Amiga       HAM-E       DCTV
  270.             ----------------    ---------   ---------   --------
  271.             Lumascale           16          256         n/a
  272.             Greyscale           16          256         n/a
  273.             Color               16 or 32*   256         n/a
  274.             HAM                 4096        262,144     n/a
  275.  
  276.             * = depends on image width; for images bigger than 384 pixels
  277.                 wide (ie. hires images) Rend24 will use 16 colors; otherwise
  278.                 it will use 32 colors.
  279.  
  280.  
  281.     #:
  282.  
  283.         The string gadget next to the Output Format gadget allows you
  284.         to select the number of colors to render in the output
  285.         images.  This is only used for standard Amiga images; it is
  286.         ignored for HAM-E and DCTV rendering.  When this gadget is
  287.         set to 0, the maximum number of colors will be used to generate
  288.         the output image (see above).  You may choose to render fewer
  289.         colors by entering another number into this gadget.  Note that
  290.         you can only enter 2, 4, 8, 16, 32, 64, 128, or 256 into this
  291.         gadget (ie. a "power of two").  If you try to render more colors
  292.         than a particular screen mode can handle, it will just use the
  293.         maximum number of colors available.
  294.  
  295.  
  296.     Use DCTV:
  297.  
  298.         When checked, all images and animations generated will be
  299.         in DCTV format.  Note that you must have dctv.library in your
  300.         LIBS: directory for this to work.
  301.  
  302.     Use HAM-E:
  303.  
  304.         When checked, all images and animations generated will be
  305.         in HAM-E format.  You must have hame.library in your LIBS:
  306.         directory for this to work.
  307.  
  308.     High Quality:
  309.  
  310.         This gadget only has meaning for DCTV and HAM-E rendering
  311.         formats.  For DCTV images, if High Quality is checked then
  312.         Rend24 will use 4 bitplanes instead of 3.  For HAM-E images,
  313.         if High Quality is checked then Rend24 will generate a
  314.         palette with a higher degree of accuracy, which can take
  315.         significantly longer.
  316.  
  317.     Run "Convert":
  318.  
  319.         If checked, then Rend24 will attempt to run Black Belt Systems'
  320.         "Convert" program on each input file.  This can be used to
  321.         convert foreign file types to standard IFF24 for use with
  322.         Rend24.  You will probably not need to use this very often, if
  323.         ever.
  324.  
  325.     Lock Palette:
  326.  
  327.         When checked, this will keep the palette the same across multiple
  328.         conversions.  That is, it will generate a palette for the first
  329.         frame only, and then use that same palette for all subsequent
  330.         frames.  This is most useful for HAM-E animations and for creating
  331.         animations for, say, DPaint (which doesn't support different
  332.         palettes for different frames).
  333.  
  334.     F/S Dither:
  335.  
  336.         This enables the Floyd-Steinberg dithering algorithm, which can
  337.         increase the number of apparent colors in an image.  It generally
  338.         does not work too well for HAM images, though, and in all cases
  339.         increases the amount of time it takes to convert each image.
  340.         For animations, this can also significantly increase the number
  341.         of changes between frames, causing the animation to play slower
  342.         and consume huge amounts of memory.
  343.  
  344.     Double Width:
  345.  
  346.         When selected, Rend24 will double the width of any images that
  347.         are smaller than 384 pixels wide.  This was added for rendering
  348.         HAM-size images into DCTV format without squishing the image
  349.         horizontally.  When rendering to DCTV, you probably want to
  350.         leave this checked.
  351.  
  352.     Halve Width:
  353.  
  354.         When this is checked, Rend24 will halve the width of any images that
  355.         are larger than 384 pixels wide.  This is handy when converting
  356.         hires 768x480 images into HAM images.
  357.  
  358.     Halve Height:
  359.  
  360.         When checked, Rend24 will halve the height of any images that are
  361.         larger than 240 pixels tall.  Handy for converting what would
  362.         normally be an interlace image into non-interlace.
  363.  
  364.     Rotate 90 Degrees:
  365.  
  366.         This will rotate each input image 90 degrees counter-clockwise.
  367.         Handy for reading images saved by ASDG's ScanLab, which for some
  368.         reason only saves images in portrait mode.
  369.  
  370.     NTSC Limit:
  371.  
  372.         When checked, this will reduce the brightness of each input image
  373.         to fit into NTSC limits.  Note that my implementation is a VERY
  374.         simple algorithm, and may not be what you want.
  375.  
  376.     Delete Source's:
  377.  
  378.         When checked, Rend24 will delete each input 24-bit image after
  379.         it has been converted.  This is most handy when converting frames
  380.         from, for example, Lightwave or VistaPro as they generate the
  381.         images.  It will reduce the amount of hard drive space you need
  382.         free while converting.  However, it also eliminates the possibility
  383.         of redoing the conversion since the source images will be gone.
  384.         So be careful with this one.  I recommend leaving this off (unless
  385.         you are really pressed for hard drive space) and delete the source
  386.         images only after you are satisfied with the results of Rend24.
  387.  
  388.     Hide Conversion:
  389.  
  390.         When checked, Rend24 will not show you images as they are being
  391.         converted.  For 16-color Hires images, this can significantly
  392.         speed up the conversion process.  It's also handy if you don't
  393.         want to be annoyed by a bunch of screens popping to the front
  394.         all the time.
  395.  
  396.     Don't Pause:
  397.  
  398.         Normally, Rend24 will pause after each image is converted and
  399.         wait for a mouse click.  When this option is enabled, it will
  400.         go into "batch" mode and perform all of its conversions without
  401.         user involvement.  For converting animations, you will probably
  402.         want to check this item.
  403.  
  404.     Wait for Source's:
  405.  
  406.         When checked, Rend24 will sit in a loop waiting for each input
  407.         file to appear.  This is especially useful for converting frames
  408.         produced by Lightwave as the frames are generated.
  409.  
  410.     Ping-Pong Anim:
  411.  
  412.         When generating an animation from a numbered series of frames
  413.         (ie. when you have a number other than zero in the Frame Count
  414.         gadget), this will cause Rend24 to create the animation such
  415.         that it will ping-pong when played back.  It does this by
  416.         duplicating all the frames in descending order after processing
  417.         all the frames normally.  Thus, it takes about twice as long
  418.         to do this and the animation will be about twice as big.
  419.         Also, since it requires all the frames in order to step backwards
  420.         through them, make sure you don't delete the frames.
  421.  
  422.     No Loop Frames:
  423.  
  424.         Normally, Rend24 will append two "looping" frames to the end
  425.         of any animation it creates.  Turning this option on will
  426.         keep Rend24 from doing this.
  427.  
  428.     X: Y:
  429.  
  430.         These two gadgets let you perform arbitrary scaling on source
  431.         images.  Enter the width and height of the resulting images you
  432.         want in the X and Y gadget respectively, and Rend24 will scale
  433.         the source images to this size, regardless of the original
  434.         image size.  Thus if you enter 160 and 100 into these gadgets
  435.         then all resulting files will be 160x100 images/animations.
  436.         Enter 0 and 0 to turn off the arbitrary scaling.
  437.  
  438.     Begin Conversion
  439.  
  440.         Click this when you have everything setup the way you want it
  441.         to let Rend24 start working.
  442.  
  443.     CANCEL!
  444.  
  445.         Click this or the window close gadget to quit Rend24.
  446.  
  447.  
  448.     The front-end also has a few menus.  They are described below:
  449.  
  450.     Save Settings (Right Amiga-S)
  451.  
  452.         This will save all your current front-end settings to
  453.         a file in your S: directory.  After you have things setup
  454.         the way you want them, you might want to save the settings
  455.         so you don't have to re-setup each time you run Rend24.
  456.  
  457.     Default Source Directory...
  458.  
  459.         Lets you choose the directory where input images come from
  460.         by default.  This is the directory that first comes up
  461.         when you click the Choose gadget next to Source Image
  462.         Pattern.
  463.  
  464.     Default Destination Directory...
  465.  
  466.         Lets you choose the directory where images are saved to
  467.         by default.  This is the directory that first comes up
  468.         when you click the Choose gadget next to Dest Image
  469.         Pattern.
  470.  
  471.     Default Animation Directory...
  472.  
  473.         Lets you choose the directory where animations are saved
  474.         by default.  This is the directory that first comes up
  475.         when you click the Choose gadget next to Dest Animation.
  476.  
  477.  
  478.     Show Animation... (Right Amiga-A)
  479.  
  480.         This is a simple way to show an animation created by
  481.         Rend24.  It brings up a file requester from which you
  482.         can choose an animation file to play (it defaults to
  483.         the animation file displayed in the Output Animation
  484.         gadget).  Rend24 defaults to using the program ShowAnim
  485.         to display the animation, but this may be changed by
  486.         editing the "s:Rend24.prefs" file.  The second to last
  487.         line is the template that Rend24 uses to show the
  488.         animation; where a %s appears in this line will be
  489.         replaced with the filename selected by the user.  Enter
  490.         a line that you would normally type in the CLI here
  491.         to change the animation viewer that Rend24 uses.
  492.  
  493.     Show Image... (Right Amiga-P)
  494.  
  495.         This is a simple way to show an image possibly created
  496.         by Rend24.  It brings up a file requester from which
  497.         you can choose an image file to display.  Rend24 defaults
  498.         to using the program ShowAnim to display pictures, but
  499.         this may be changed by editing the "s:Rend24.prefs" file.
  500.         The last line is the template that Rend24 uses to show
  501.         the image files; see above for details.
  502.  
  503.  
  504. RUNNING THE PROGRAM FROM CLI
  505.  
  506.     Is a bit more complicated.  Certain features of Rend24 are only
  507.     available from CLI.
  508.  
  509.     Useage from CLI is as follows:
  510.  
  511.         1> Rend24 [options] <input_file> [input_file] ...
  512.  
  513.     The input file(s) must follow the options.  You may specify more
  514.     than one input file on the command line, and each input file may
  515.     contains wildcard characters (standard AmigaDos patterns).
  516.  
  517.     Options consist of a dash (-) followed by a single (case-sensitive!)
  518.     letter.  You may specify more than one option letter after a
  519.     single dash, except options that require an argument; they must be
  520.     separate.  Following is a list of all options currently supported
  521.     in Rend24:
  522.  
  523.         -D          Generate DCTV format images (note that CAPITAL D).
  524.                     Requires dctv.library.
  525.         -6          High Quality ("6-bit") HAM-E mode.
  526.         -aFILE      Pack output files into the given animation file "FILE".
  527.         -CNUM       Bitplanes to render in output images (1-8).
  528.         -c          Call Black Belt's Convert for each input file.  The
  529.                      Convert program must be in your current command
  530.                      path somewhere (ie. your C: directory).
  531.         -d          Enable Floyd-Steinberg dithering.
  532.         -e          Generate HAM-E format images.  Requires hame.library.
  533.         -fNUM       Convert "NUM" input frames.
  534.         -g          Generate greyscale (average) images.
  535.         -H          Use a special ordered dither pattern for greyscale images.
  536.                      This is very handy when generating animations, as the
  537.                      anim size will come out smaller than one generated
  538.                      with Floyd-Steinberg dithering.
  539.         -h          Generate HAM images.
  540.         -L          Do not add looping frames to animations.
  541.         -l          Generate lumascale (luminence) images.
  542.         -NSCREEN    Open Rend24 on the given named public screen (2.0 only).
  543.         -n          Do not pause after converting each image.
  544.         -o[PATTERN] Specify individual output image pattern.  If PATTERN
  545.                      is not given (ie. -o by itself) then each file will
  546.                      be saved to the same directory as the source image
  547.                      with a representative extension.
  548.         -P          Generate a ping-pong animation.
  549.         -p[FILE]    Palette locking.  If "FILE" exists, then a palette
  550.                      is read from it.  If "FILE" does not exist, then
  551.                      the generated palette is saved to it.
  552.         -r          Delete (remove) input files after converting.
  553.         -SNUM       Starting frame number, defaults to 1.
  554.         -s          Only generate palette, do not actually render an image.
  555.         -t          Enable NTSC limiting.
  556.         -v          Hide conversion process.
  557.         -w          Wait for input images to appear.
  558.         -X          Double the width of input images.
  559.         -x[WIDTH]   Scale width by half, or to the given pixel width.
  560.         -y[HEIGHT]  Scale height by half, or to the given pixel height.
  561.         -z          Rotate image 90 degrees counter-clockwise.
  562.  
  563.     Note that you do not *have* to specify any outputs at all; if you
  564.     don't then each input file will simply be rendered and viewed.
  565.     This can be used as a simple (but effective) deep color image
  566.     viewer for stock Amigas.
  567.  
  568.     The arbitrary scaling (-xN and -yN) does not anti-alias (or
  569.     interpolate).  It is meant to be fast.
  570.  
  571.     Rend24 writes standard ILBM palette files that can be read by
  572.     DPaint.  It will also read a standard ILBM palette file.  Thus
  573.     you can save your favorite palette from DPaint and have Rend24
  574.     render all its images using that same palette.
  575.  
  576.  
  577. FILE FORMATS
  578.  
  579.     Rend24 will load most all types of IFF-ILBM images, including
  580.     8- and 24-bit images and standard Amiga resolutions.  The only
  581.     things I know of that it doesn't load are SHAM, Dynamic HAM, and
  582.     Dynamic Hires images.  It should handle images with mask planes.
  583.  
  584.     It will also load Compuserve GIF format images.  It will handle
  585.     interlaced and non-interlaced formats.  For multiple-frame
  586.     GIF's, it will just load the first frame.
  587.  
  588.     And it will also read JPEG images stored in the standard JFIF
  589.     file format (the format used by all Amiga JPEG implementations that
  590.     I know of).
  591.  
  592.     Rend24 reads and write standard IFF-ILBM palette files (ie. a
  593.     BMHD and CMAP, no BODY).
  594.  
  595.     Rend24 writes images in standard IFF-ILBM format suitable for
  596.     viewing with any standard picture viewer, and writes
  597.     animations in standard IFF-ANIM Op 5 format.  It automatically
  598.     creates "looping" frames on the end of any animation it generates,
  599.     unless turned off with No Loop Frames option.
  600.  
  601.  
  602. QUIRKS
  603.  
  604.     Rend24 does not handle "odd" sized images very well (images whose
  605.     width is not a multiple of 8).  All of the 'standard' images sizes
  606.     should work fine.
  607.  
  608.     Since Rend24 uses hame.library for opening and maintaining HAM-E
  609.     screens (it does NOT use renderhame.library!), Rend24 is subject
  610.     to that library's limitations.  The version of hame.library that
  611.     I have does not like to open screens of odd sizes, so you may
  612.     have to scale your images to a "regular" size to get it to work
  613.     right (320x200 or 320x400, with/without overscan).
  614.  
  615.     Rend24 relies completely on dctv.library for generating DCTV format
  616.     images, so if there are problems with DCTV renderings, it is more
  617.     than likely the fault of dctv.library.
  618.  
  619.     The default animation player used by Rend24 is "ShowAnim".
  620.     Unfortunately, ShowAnim is apparently even stricter about the
  621.     sizes of images it handles than Rend24.  Also unfortunately,
  622.     the default medium resolution of Lightwave happens to be one of
  623.     the sizes that ShowAnim doesn't like... the result is animations
  624.     that look garbaged.  There are two solutions:  Find another
  625.     ANIM player, or scale your rendered images in Rend24 to a
  626.     size that ShowAnim can handle (I think 736x480 or 768x480 will
  627.     work).
  628.  
  629.  
  630. EXAMPLES
  631.  
  632.     What you've all been waiting for...
  633.  
  634.     These examples assume you are using the front-end.  You'll have to
  635.     interpret a bit if you are using the CLI interface.
  636.  
  637.     Example #1 - Lightwave
  638.     ~~~~~~~~~~~~~~~~~~~~~~
  639.     (Note:  This is based on memory as I don't happen to have a Toaster
  640.     sitting in front of me.  I haven't seen much of Toaster 2.0 either,
  641.     so this could be completely obsolete.)
  642.  
  643.     Suppose you want to convert a 30 frame animation generated with
  644.     Lightwave into a standard Amiga animation.  You might want to do
  645.     this if you A) want to see a color preview of your animation before
  646.     single-framing to tape to save wear and tear on your recorder, or
  647.     B) don't *have* a single-frame recorder.
  648.  
  649.     We will call the animation scene "DollFace".
  650.  
  651.     1.  Go into Lightwave and create a killer 30 frame animation,
  652.         ready for rendering in 768x480 mode.
  653.  
  654.     2.  Go into the "Record" menu, and choose the "Save Images" gadget.
  655.         Save Images will save each frame generated on disk as a standard
  656.         IFF-ILBM file - perfect for Rend24.  Do NOT choose "Save Frames",
  657.         as this saves in FrameStore format which Rend24 cannot read.
  658.         You will be presented with a file requester from which you choose
  659.         the image prefix for the frames generated.  For this example, we
  660.         will choose a prefix of "DollFace" - pick a convenient directory
  661.         (we'll use "Images" in this example) and enter "DollFace" into
  662.         the file gadget.  Each frame generated will now be called
  663.         "DollFaceNNN", where the "NNN" will be replaced with the number
  664.         of the frame.  (Ie. DollFace001, DollFace002, etc.).
  665.  
  666.     3.  Now pop back to Workbench (Left Amiga N) and run Rend24.  When
  667.         the front-end window appears, open the file requester to enter
  668.         a source image pattern (by clicking the Choose gadget next to
  669.         the Source Image Pattern gadget).  Pick the same directory you
  670.         entered in Lightwave ("Images" in our example), and also enter
  671.         the exact same image prefix you entered in Lightwave ("DollFace"
  672.         in our example, without any trailing numbers).  So the result
  673.         in the Source Image Pattern gadget should look something like
  674.         "DH3:Toaster/3D/Images/DollFace".
  675.  
  676.     4.  Since the animation will be 30 frames, enter the number 30 into
  677.         the Source Frame Count gadget.  This tells Rend24 to append
  678.         001 - 030 to the source image pattern given above to get the
  679.         name of each file to load, exactly like Lightwave does.  Choose
  680.         a starting frame number of 1.
  681.  
  682.     5.  Now choose the filename of your destination animation.  For
  683.         our example, we will simply save it to RAM:.  You may, however,
  684.         want to save the result to somewhere on your hard drive.
  685.         Open the file requester (by clicking on Choose next to the
  686.         Dest Animation gadget), and enter your output filename.  For
  687.         our example, we'll use "RAM:DollFace.anim".
  688.  
  689.     6.  Now decide on your animation image format.  In this example,
  690.         we'll keep things simple and just render to Amiga HAM mode.
  691.         Click the Image Format cycler gagdet until it reads "HAM Image".
  692.         We will also use the default maximum number of colors, so we
  693.         leave the # gadget at 0.
  694.  
  695.     7.  Decide on your conversion options.  If you plan to be loading
  696.         this animation into DPaint, you should choose the "Lock Palette"
  697.         option to keep the palette the same for all frames.  A HAM image
  698.         needs to be lores (< 384 pixels wide) so we need to turn on the
  699.         "Halve Width" option to reduce the width of Lightwave's hires
  700.         images down to lores.  If you don't want interlace images
  701.         (desirable to make the animation run faster and reduce conversion
  702.         times), click on the "Halve Height" button as well.  If you want
  703.         to delete the files that Lightwave generates from disk as Rend24
  704.         finishes converting them, choose the "Delete Source's" checkbox.
  705.         This will save a lot of hard drive space, but make it impossible
  706.         to redo the conversion process if something goes wrong.  If you
  707.         don't want Rend24 to show each frame as it's converting (probably
  708.         desirable in this case), check the "Hide Conversion" gadget.  You
  709.         will definitely want to check the "Don't Pause" gadget to make
  710.         Rend24 not wait for a mouse click after each frame is converted.
  711.         And you DEFINITELY want to check the "Wait for Source's" gadget
  712.         as this will make Rend24 sit around in the background waiting
  713.         for Lightwave to generate each frame.
  714.  
  715.     8.  Now that everything is setup, click the "Begin Conversion" gadget
  716.         in Rend24.  It will open it's status window and say that it is
  717.         waiting for "DollFace001".
  718.  
  719.     9.  Now pop back to Lightwave (Left Amiga M) and tell it to begin
  720.         rendering.  As Lightwave finishes rendering each frame, Rend24
  721.         will kick in, convert the image to HAM, pack it into the
  722.         destination animation, and then go back to sleep waiting for
  723.         the next frame.  When all the frames are finished, Rend24 will
  724.         build looping frames on the end of the animation, and you will
  725.         have a completed animation file ready for playing
  726.         ("RAM:DollFace.anim" in our example).  At this point you may
  727.         use the "Show Animation..." menu item to view the animation
  728.         immediately, or you may load the animation into (for example)
  729.         Deluxe Paint for further editing.
  730.  
  731.  
  732.  
  733. THE AUTHOR AND ACKS
  734.  
  735.      I can be reached at the following U.S. Mail address:
  736.  
  737.           Thomas Krehbiel
  738.           10747 Surry Road
  739.           Chester, VA  23831
  740.  
  741.      This is where you want to send your donations (cash, check,
  742.      or money order; U.S. funds please).  (Please be patient, these
  743.      days I am pretty much swamped in other commercial software
  744.      efforts.)
  745.  
  746.      If you have a modem and don't mind calling long-distance, I can
  747.      also be reached on the Late Nite Amiga BBS (804-262-9944) as Tom
  748.      Krehbiel (user #13).  Note that in older versions of Rend24
  749.      documentation I got the Late Nite phone number wrong (oops).
  750.      The latest distributable version of Rend24 can always be found
  751.      on Late Nite, as well.
  752.  
  753.      And at long last I now have an account on BIX, so you can bixmail
  754.      me as "tkrehbiel".
  755.  
  756.      BTW, I much prefer E-mail to regular mail... and I really don't
  757.      have the time to give phone support (sorry!).
  758.  
  759.      Thanks to the following people for helping to make this program
  760.      like you now see it:
  761.  
  762.           Kermit Woodall . . . . .  Promotion/Research/Testing
  763.           Mike Vunck . . . . . . . . . . . . Promotion/Testing
  764.           Bob Fisher . . . . . . . . . . . . . . . . . Testing
  765.           Stuart Ragland . . . . . . . . . . . . . . . Testing
  766.  
  767.           (And everyone else in the Late Nite Developer sub.)
  768.  
  769.      Thanks to Mike Vunck for the spiffy icon!
  770.  
  771.  
  772. REVISION HISTORY (for the curious)
  773.  
  774.      1.04i     Rendered Amiga screens are now autoscrollable (V36+).
  775.      Release   Added an ordered dither option for greyscale images.
  776.      9/13/92   Fixed major bug in handling large size images (>768w).
  777.                Fixed fairly harmless Enforcer hit on program startup.
  778.                Added untested support for AGA modes (HAM8, etc.).
  779.                Fixed bug that caused ANIM compression to crash sometimes.
  780.  
  781.      1.04h     Added utility menu to show pictures, animations.
  782.      Release   New and improved overscan calculation (V36+).
  783.      7/8/92    Can now open front end/status on public screens (V36+).
  784.                Fixed some bugs in the GIF loading code.
  785.  
  786.      1.04g     Now handles any number of digits in frame number extensions.
  787.      Beta      Can render images with arbitrary number of colors (bitplanes).
  788.      6/30/92   Can now start generating from frames other than 1.
  789.                Now handles non-8 point system fonts in status window.
  790.  
  791.      1.04f     Added Double Width option for DCTV fanatics.
  792.      Release   Added option to make Ping-Pong animation from numbered frames.
  793.      3/14/92   Added option to not tack on looping frames to animations.
  794.                Revised front-end to include new options.
  795.  
  796.      1.04e     Pads odd length DLTA chunks for !#$!@#$ buggy DPaint.
  797.      Beta      Fixed CMAP chunk lengths for (once again) DPaint.
  798.      3/8/92
  799.  
  800.      1.04d     Will now load GIF images directly.
  801.      Beta      Will now load JPEG images directly (if somewhat slowly).
  802.      2/28/92   Now returns to front end after Aborting an operation.
  803.                New documentation!  Better?  Good question...
  804.                No longer detaches from CLI for better script handling.
  805.  
  806.      1.04c     Clicking Close gadget while waiting no longer exits.
  807.      Beta      Refreshes screen properly under 2.0 after a Zoom.
  808.      11/15/91  Can scale images to any arbitrary width and height.
  809.                Now reads and writes standard IFF ILBM palette files.
  810.                Fixed an occasional massive crashing bug in ILBM saving.
  811.                Fixed scaling settings being "forgotten" over multiple files.
  812.  
  813.      1.04b     Now detaches from the CLI; don't have to Run it anymore.
  814.      Beta      No longer opens a console when run from Workbench.
  815.      11/10/91  Closes front-end window while doing conversions.
  816.                A nifty iconify feature added for Workbench 2.04.
  817.  
  818.      1.04a     Fixed a couple of bugs in animation creation.
  819.      Beta
  820.      11/9/91
  821.  
  822.      1.04      Now includes a built-in Front End, runnable from Workbench.
  823.      Beta      (Drumroll, please)... now generates DCTV images!
  824.      11/7/91
  825.  
  826.      1.03      Compiled with the SAS/C Global Optimizer.
  827.      Reg Only  Now includes a version compiled for 68020/68030 machines.
  828.      10/22/91  Now loads standard IFF images and converts to 24-bit.
  829.                Fixed some Enforcer hits and "free non-tracked" messages.
  830.                Can now click on Rendered screen to continue.
  831.  
  832.      1.02      Now handles odd width images correctly (I hope).
  833.      Release   Fixed numerous Enforcer hits during loading (oops).
  834.      7/11/91
  835.  
  836.      1.01      Fixed a bug in IFF24 loader code.
  837.      Release   Fixed bug in the WaitFor routines.
  838.      6/3/91    Now loads ADPro 8-bit greyscale images.
  839.  
  840.      1.00      First public release.
  841.      Release   Now includes `RendFE.rexx' front-end program.
  842.      5/18/91   Fixed trying to add loop frames to non-existant ANIMs.
  843.  
  844.      0.18      No longer clobbers numeric filename extensions.
  845.      Beta      Recognizes ^C again to abort for compatibility.
  846.      5/16/91   Added dither "threshold" control for Color renders.
  847.  
  848.      0.17      Fixed scaling "forgetfulness" over multiple files.
  849.      Beta      HAM rendering significantly faster.
  850.      5/14/91   Better overscan display (I hope).
  851.                Nice little output window with status bar.
  852.                Loop frames now tacked onto end of animations created.
  853.                Added 90 degree counter-clockwise rotation option `-z'.
  854.  
  855.      0.16      Recompiled with SAS/C 5.10.
  856.      Alpha     Now requires `hame.library' for HAM-E rendering.
  857.      5/8/91    Much faster IFF24 loading; as fast as ADPro now.
  858.                Wildcarding rewritten; requires Arp under 1.3.
  859.                Added `-t' for NTSC Limiting.
  860.                Beginnings of better documentation.
  861.                Generally faster rendering times, especially greyscale.
  862.                Can now scale image height in half with `-y' option.
  863.                Scaling now a seperate operation from the rendering.
  864.                Significantly faster rendering under 2.0.
  865.                Loader will handle anywhere from 9- to 24-bit images.
  866.  
  867.      0.15      Palette save/load now functional.
  868.      Alpha     Fixed memory leak in ANIM compression.
  869.      4/9/91
  870.  
  871.      0.14      Fixed Hame reg mode color wrongness.
  872.      Alpha     Now overscans picture under 1.3, too.
  873.      4/5/91    Now alphabetizes wildcarded input files.
  874.  
  875.      0.13      Color palette selection rewritten.  Less redundancy.
  876.      Alpha     Now takes scaling into account when building histogram.
  877.      4/5/91    Histogram (unfortunately) noticeably slower.
  878.                But palette selection is faster and uses less memory.
  879.                Fixed left-edge-HAM-fringe-in-non-dithered problem.
  880.                Definitely a speed decrease here.
  881.  
  882.      0.12      Fixed phantom palette load/save problem.
  883.      Alpha     I think I fixed the death on out of memory during load.
  884.      4/2/91    Fixed small memory leak problem.
  885.                Pads width of input images to a byte boundary.
  886.                Slight speed increase in non-HAM, especially dithered.
  887.  
  888.      0.11      Fixed bug in -hx mode.
  889.      Alpha     New `-a' animation packer option.
  890.      3/30/91   New `-f' for specifying Lightwave frames.
  891.                New palette locking method with `-p' option.
  892.  
  893.      0.10      Added `@' input script file option.
  894.      Alpha     Now overscans Hame cookie and palette lines if it can.
  895.      3/27/91   Added `-w' to wait for input files to appear.
  896.                Added `-r' option to remove input files when done.
  897.                Hides screen while saving for those of us with 2090's.
  898.  
  899.      0.09      Grey24, Color24, and Ham24 consolidated into Render24.
  900.      Alpha     Command line options changed somewhat.
  901.      3/26/91   Better output file pattern parsing (eg: -oPics/*.reg).
  902.  
  903.      0.08      Fixed occasional after-save guru.
  904.      Alpha     Supports uncompressed IFF24's now (I think).
  905.      3/26/91   ^C will break a rendering in progress (hurray!).
  906.                Clean Hame ham mode support!
  907.  
  908.      0.07      Does not use Hame color register 0 at all.
  909.      Alpha     Hame ham support added, but looks terrible.
  910.      3/26/91
  911.  
  912.      0.06      Makes FORM length even for DPaint's mangled-IFF bug.
  913.      Alpha     Only deletes Convert temp file AFTER image is rendered.
  914.      3/24/91   Initial HAM rendering -- slow, no Hame.
  915.  
  916.      0.05      Fixed all-black-horizontal-line-turning-off-Hame problem.
  917.      Alpha     Allows Unix-style wildcard input pattern.
  918.      3/23/91   Added Kermit's kludge to call BB's Convert on input files.
  919.                Color rendering 1x-3x faster non-dithered.
  920.  
  921.      0.04      Color rendering about 4x faster non-dithered.
  922.      Alpha
  923.      3/22/91
  924.  
  925.      0.03      Initial color rendering -- VERY slow.
  926.      Alpha
  927.      3/21/91
  928.  
  929.      0.02      Initial REAL greyscale rendering.
  930.      Alpha     Added option to save resulting image.
  931.      3/20/91
  932.  
  933.      0.01      Experimental greyscale rendering.
  934.      Alpha
  935.      3/19/91
  936.  
  937.