home *** CD-ROM | disk | FTP | other *** search
/ Rat's Nest 1 / ratsnest1.iso / dos / graphics / cmorph.arj / CMORPH.DOC next >
Encoding:
Text File  |  1993-10-12  |  48.0 KB  |  1,377 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                               The Complete Morph v1.20
  17.  
  18.                            Copyright 1993, Paul D. Nettle
  19.  
  20.  
  21.                                  _______
  22.                             ____|__     |                (R)
  23.                          --|       |    |-------------------
  24.                            |   ____|__  |  Association of
  25.                            |  |       |_|  Shareware
  26.                            |__|   o   |    Professionals
  27.                          -----|   |   |---------------------
  28.                               |___|___|    MEMBER
  29.  
  30.  
  31.                           Document dated:  October 12, 1993
  32.  
  33.                                    Paul D. Nettle
  34.                                  9668 Washington St.
  35.                                   Romulus, MI 48174
  36.                                    (313) 941-9223
  37.  
  38.                                    Author's name:  Paul D. Nettle
  39.                           Author's Compuserve ID:  72163,2442
  40.  
  41.                   This document also Copyright 1993, Paul D. Nettle
  42.  
  43.             A limited license is granted to reprint short extracts  from
  44.             this document  as  long as  credit  is given  to  the  above
  45.             mentioned party.   Individuals,  BBSs  and User  Groups  may
  46.             distribute copies of this  software, it's documentation  and
  47.             associated files  (originally  distributed  in  an  archive)
  48.             freely as long as the files remain in-tact, unmodified,  are
  49.             not re-named  and are  not made  part  of some  larger  work
  50.             without the written permission of Paul D. Nettle.  A BBS may
  51.             rearchive the unmodified archived file's contents as long as
  52.             the  resulting  archive  is  named  CMORPH.ZIP,  CMORPH.ARC,
  53.             CMORPH.LZH or CMORPH.???
  54.  
  55.  
  56.  
  57.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  58.  
  59.  
  60.                                   TABLE OF CONTENTS
  61.  
  62.             Introduction .............................................4
  63.                  What is Morphing? ...................................4
  64.                  How does it work? ...................................4
  65.                  System Requirements .................................6
  66.             Ombudsman Statement ......................................7
  67.             Definition of Shareware ..................................7
  68.             Disclaimer - Agreement ...................................8
  69.             Getting Started ..........................................9
  70.             Running CMorph from the command line .....................10
  71.                  Command Line Options ................................10
  72.             Configuring CMorph's Memory ..............................13
  73.                  Virtual Memory ......................................13
  74.             IPI File Format ..........................................15
  75.             Operations Menu ..........................................16
  76.                  Operations menu catagory:  OPERATIONS ...............16
  77.                       Exit button ....................................16
  78.                       Morph It button ................................16
  79.                       DOS Shell button ...............................16
  80.                  Operations menu catagory:  FILE .....................16
  81.                       Load Mesh button ...............................16
  82.                       Save Mesh button ...............................16
  83.                  Operations menu catagory:  EDIT .....................16
  84.                       Swap Mesh button ...............................16
  85.                  Operations menu catagory:  HELP .....................16
  86.                       Help button ....................................16
  87.             Preferences Menu .........................................17
  88.                  Preferences menu catagory:  SPLINE SETTINGS .........17
  89.                       Submenu catagory:  MESH ........................17
  90.                            Catmull button ............................17
  91.                       Submenu catagory:  INTERPOLATION ...............17
  92.                            Catmull button ............................17
  93.                       Gravity text box ...............................17
  94.                  Preferences menu catagory:  SCREEN SETTINGS .........17
  95.                       Cursor color button ............................17
  96.                       Mesh Color button ..............................17
  97.                       Curves button ..................................17
  98.                       Zoom button ....................................17
  99.                  Preferences menu catagory:  OUTPUT CONTROL ..........17
  100.                       Output: TGA button .............................17
  101.                       Morph button ...................................18
  102.                       Fade 50 text box ...............................18
  103.                       Warp 50 text box ...............................18
  104.                  Preferences menu catagory:  FRAME CONTROL ...........18
  105.                       Total Frames text box ..........................18
  106.                       Start Frame text box ...........................18
  107.                       End Frame text box .............................18
  108.             Creating a Mesh ..........................................19
  109.             Future Enhancements ......................................20
  110.             Contacting Customer Support ..............................21
  111.             Ordering Information .....................................22
  112.                  What you will get when you register .................22
  113.                  What you will get when you register .................22
  114.  
  115.  
  116.                                        Page 2
  117.  
  118.  
  119.  
  120.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  121.  
  122.  
  123.                  Differences between non-registered and registered
  124.                  users ...............................................22
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.                                        Page 3
  180.  
  181.  
  182.  
  183.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  184.  
  185.  
  186.                                     INTRODUCTION
  187.  
  188.             Thank you for choosing  "The Complete Morph."   I hope  that
  189.             this product will be as useful for you as it was fun for  me
  190.             to write.  I'll try to keep this document from being dry, so
  191.             forgive me if the jokes get bad.
  192.  
  193.             From now  on, lets  just call  "The Complete  Morph"  CMorph
  194.             (pronounced "See-Morph".)
  195.  
  196.             What is morphing?
  197.  
  198.                  Morphing is the process of slowly fading from one image
  199.                  to another, while warping  the contents of both  images
  200.                  so that they "metamorphasize."
  201.  
  202.             How does it work?
  203.  
  204.                  Morphing  is,   in   theory,  actually   very   simple.
  205.                  Understanding how  morphing works  internally will  aid
  206.                  you in creating high-quality morph animations.
  207.  
  208.                  For a good quality morph, start by taking your time and
  209.                  finding a pair  of similar  images that  have the  same
  210.                  resolution.  As  an example,  try to  find two  320x200
  211.                  images that  both contain  a full-screen  face that  is
  212.                  facing the  same way,  has  the same  orientation,  and
  213.                  who's major points (eyes, etc.) line up pretty close to
  214.                  each other if they were to be overlaid.
  215.  
  216.                  Now that you  have two images,  a mesh  must be  placed
  217.                  over each  one.   This is  the "manual-labor"  part  of
  218.                  morphing.   Take  your  time,  this  mesh  defines  the
  219.                  quality of the morph.
  220.  
  221.                  A mesh  is made  up of  horizontal and  vertical  lines
  222.                  overlaid onto both images.  Each point in which each of
  223.                  the mesh lines intersect can be re-located.  The points
  224.                  are usually connected  by a curved  line to smooth  the
  225.                  bends.  But be careful not to let any two horizontal or
  226.                  any two vertical mesh lines cross.
  227.  
  228.                  Once all of the mesh lines are complete, the points  in
  229.                  the mesh should line up  with their counterpart on  the
  230.                  other image (for example, the point on the source image
  231.                  that  is  centered  in  the  left  eye  should  have  a
  232.                  counterpart on the  destination image that  is also  on
  233.                  the left eye in that image),  the morphing is ready  to
  234.                  begin.   A hint  for a  real clean  morph is  to  align
  235.                  points in the image that  not only select the  features
  236.                  of the image, but also  outline it's features with  the
  237.                  lines that connect the points together.
  238.  
  239.  
  240.  
  241.  
  242.                                        Page 4
  243.  
  244.  
  245.  
  246.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  247.  
  248.  
  249.                  Morphing is a three-step process.  The first two  steps
  250.                  are the  warping steps.   The  warping is  done in  two
  251.                  stages.  First,  all of the  horizontal mesh lines  are
  252.                  used to break up the image  into "bands".  Since  there
  253.                  are the  same  number  of  bands  in  each  image,  the
  254.                  destination band is  warped to the  same shape as  it's
  255.                  counterpart in the source image, and so on through  all
  256.                  the bands.   Next, the destination  image is broken  up
  257.                  into vertical bands using the vertical mesh lines,  and
  258.                  the process is repeated for the vertical direction.
  259.  
  260.                  The last  step in  this process  is to  cross-fade  the
  261.                  images into one.
  262.  
  263.             CMorph is a full-featured morphing program.  Take a look:
  264.  
  265.                  o  Reads and writes GIF,  IMG, TGA, BMP  and IPI image
  266.                     files.
  267.  
  268.                  o  CMorph has a  very beautiful  and easy-to-use user-
  269.                     interface that utilizes all 256  colors of the SVGA
  270.                     palette,  and  on  most   video  cards  can  handle
  271.                     resolutions up  to 800x600  (1024x768 mode  is only
  272.                     available on some video cards).
  273.  
  274.                  o  A DOS-shell helps  you with  those unexpected needs
  275.                     to visit the DOS prompt.
  276.  
  277.                  o  You control the output.  Create a morph, a warp, or
  278.                     a simple  fade.   Each  of  these  options utilizes
  279.                     parameters that  let  you  control  where  in  your
  280.                     animation most of  the warping and  the fading take
  281.                     place for super fine-tuning.
  282.  
  283.                  o  An interface for external programs to perform tasks
  284.                     that CMorph  doesn't  already perform  via  the IPI
  285.                     file format  -- explained  later in  this document.
  286.                     This file format is also used in CImage, another of
  287.                     my products.
  288.  
  289.                  o  CMorph has  advanced spline  meshes giving  you the
  290.                     option of  three different  spline types:   Catmull
  291.                     (used in  most morphing  software  today), Bi-cubic
  292.                     splines, and straight lines.  Different effects can
  293.                     be obtained by  changing which spline  type is used
  294.                     for the image warping and which spline type is used
  295.                     for the interpolation.   The  Bi-cubic splines make
  296.                     use of  a tightness  parameter that  allows  you to
  297.                     have spline  meshes  that  are  almost  straight to
  298.                     "very curvy".
  299.  
  300.                  o  CMorph also has advanced mesh editing features such
  301.                     as mirrored cursors, and cross cursors for aligning
  302.                     mesh points between the two images.   A Zoom window
  303.  
  304.  
  305.                                        Page 5
  306.  
  307.  
  308.  
  309.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  310.  
  311.  
  312.                     tracks your  cursor helping  you  get pixel-perfect
  313.                     output.
  314.  
  315.                  o  CMorph uses ALL available memory  by running in 32-
  316.                     bit protected mode.   If you need  more memory, you
  317.                     can turn on the Virtual Memory.
  318.  
  319.             System Requirements:
  320.  
  321.                  CMorph requires at least a 386  with a video card  that
  322.                  can handle 256  colors in 640x400  mode, 640x480  mode,
  323.                  800x600 mode, or 1024x768 mode.  A math co-processor is
  324.                  optional, but  highly recommended.   4MB  of memory  is
  325.                  also required (although 8MB is better, and any more  is
  326.                  just great).
  327.  
  328.             I hope you enjoy using CMorph!
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.                                        Page 6
  369.  
  370.  
  371.  
  372.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  373.  
  374.  
  375.             OMBUDSMAN STATEMENT
  376.  
  377.             This program is produced by a member of the Association of
  378.             Shareware Professionals (ASP).  ASP wants to make sure that
  379.             the Shareware principle works for you. If you are unable to
  380.             resolve a Shareware-related problem with an ASP member by
  381.             contacting the member directly, ASP may be able to help. The
  382.             ASP Ombudsman can help you resolve a dispute or problem with
  383.             an ASP member, but does not provide technical support for
  384.             members' products.  Please write to the ASP Ombudsman at 545
  385.             Grover Road, Muskegon, MI 49442-9427 USA, FAX 616-788-2765
  386.             or send a CompuServe message via CompuServe Mail to ASP
  387.             Ombudsman 70007,3536.
  388.  
  389.             DEFINITION OF SHAREWARE
  390.  
  391.             Shareware distribution gives users a chance to try  software
  392.             before buying  it.  If  you  try  a  Shareware  program  and
  393.             continue using it, you are expected to register.  Individual
  394.             programs differ  on  details --  some  request  registration
  395.             while others  require  it,  some  specify  a  maximum  trial
  396.             period. With registration, you get anything from the  simple
  397.             right to continue using the  software to an updated  program
  398.             with printed manual.
  399.  
  400.             Copyright  laws  apply  to  both  Shareware  and  commercial
  401.             software, and the copyright holder retains all rights,  with
  402.             a few specific exceptions as stated below. Shareware authors
  403.             are accomplished programmers, just like commercial  authors,
  404.             and the programs are of comparable quality. (In both  cases,
  405.             there are good programs and  bad ones!) The main  difference
  406.             is in the  method of distribution.  The author  specifically
  407.             grants the right to copy and distribute the software, either
  408.             to all and sundry or to a specific group. For example,  some
  409.             authors require written permission before a commercial  disk
  410.             vendor may copy their Shareware.
  411.  
  412.             Shareware is a distribution method, not a type of  software.
  413.             You  should  find  software   that  suits  your  needs   and
  414.             pocketbook,  whether  it's  commercial  or  Shareware.   The
  415.             Shareware system makes  fitting your  needs easier,  because
  416.             you can try  before you buy.   And because  the overhead  is
  417.             low, prices are low also. Shareware has the ultimate  money-
  418.             back guarantee -- if  you don't use  the product, you  don't
  419.             pay for it.
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.                                        Page 7
  432.  
  433.  
  434.  
  435.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  436.  
  437.  
  438.             DISCLAIMER - AGREEMENT
  439.  
  440.             Users of The Complete Morph  must accept this disclaimer  of
  441.             warranty:   "The Complete  Morph is  supplied  as is.    The
  442.             author  disclaims  all  warranties,  expressed  or  implied,
  443.             including,   without   limitation,    the   warranties    of
  444.             merchantability and of fitness  for any purpose. The  author
  445.             assumes no liability for  damages, direct or  consequential,
  446.             which may result from the use of The Complete Morph."
  447.  
  448.             The Complete Morph is a "Shareware program" and is  provided
  449.             at no charge to the user for evaluation.  Feel free to share
  450.             it with your friends, but please do not give it away altered
  451.             or as  part  of  another system.    The  essence  of  "user-
  452.             supported" software is  to provide  personal computer  users
  453.             with quality  software  without  high  prices,  and  yet  to
  454.             provide incentive for programmers to continue to develop new
  455.             products.  If you find this program useful and find that you
  456.             are using  The  Complete  Morph  and  continue  to  use  The
  457.             Complete Morph  after a  reasonable trial  period, you  must
  458.             make a registration payment of 35.00 to Paul D. Nettle.  The
  459.             35.00 registration fee will license one copy for use on  any
  460.             one computer at any one time.  You must treat this  software
  461.             just like a book.  An  example is that this software may  be
  462.             used by any number  of people and may  be freely moved  from
  463.             one computer location  to another, so  long as  there is  no
  464.             possibility of  it being  used at  one location  while  it's
  465.             being used at another.  Just as a book cannot be read by two
  466.             different persons at the same time.
  467.  
  468.             Commercial users of The Complete Morph must register and pay
  469.             for their copies  of The Complete  Morph within  30 days  of
  470.             first use  or  their  license is  withdrawn.    Site-License
  471.             arrangements may be made by contacting Paul D. Nettle.
  472.  
  473.             Anyone distributing  The  Complete  Morph for  any  kind  of
  474.             remuneration must  first  contact  Paul  D.  Nettle  at  the
  475.             address above for authorization.  This authorization will be
  476.             automatically granted  to  distributors  recognized  by  the
  477.             (ASP)  as   adhering  to   its  guidelines   for   Shareware
  478.             distributors, and such distributors  may begin offering  The
  479.             Complete Morph  immediately  (However Paul  D.  Nettle  must
  480.             still be advised so that the distributor can be kept  up-to-
  481.             date with the latest version of The Complete Morph.).
  482.  
  483.             You are  encouraged to  pass a  copy of  The Complete  Morph
  484.             along to your friends for evaluation.  Please encourage them
  485.             to register their copy  if they find that  they can use  it.
  486.             All registered  users  will receive  a  copy of  the  latest
  487.             version of The Complete Morph system.
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.                                        Page 8
  495.  
  496.  
  497.  
  498.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  499.  
  500.  
  501.  
  502.                                    GETTING STARTED
  503.  
  504.  
  505.             CMorph is ready to run.  All you have to do is install it.
  506.  
  507.             Installation is simple.   Since  you've probably  downloaded
  508.             the CMorph archive and un-archived  it (which you needed  to
  509.             do to be reading this document) you're already set to go.
  510.  
  511.             To run  CMorph,  you  need  to  have  both,  CMORPH.EXE  and
  512.             DOS4GW.EXE in your path or in the current directory when you
  513.             run it.  To run it,  just type CMORPH followed by two  image
  514.             file names.  For example:
  515.  
  516.                  C:\> CMORPH IMAGE1.TGA IMAGE2.TGA
  517.  
  518.             There are lots of command-line  options.  Check the  section
  519.             titled "COMMAND LINE OPTIONS" for a complete description  of
  520.             them.
  521.  
  522.             If you're like me, you may  already have a very large  path,
  523.             and wish not  to make  it larger.   Where there  is a  will,
  524.             there is a way!  Simply create a batch file that runs CMorph
  525.             in the following way:
  526.  
  527.             C:\CMORPH\DOS4GW C:\CMORPH\CMORPH %1 %2 %3 %4 %5 %6 %7 %8 %9
  528.  
  529.             This batch file runs DOS/4GW from the CMORPH directory,  and
  530.             tells it to run CMorph from the same directory.  If you just
  531.             run CMorph, then it will not find the DOS Extender (which is
  532.             what it tries to do if you  just run CMorph).  So, you  need
  533.             to run the DOS Extender manually.
  534.  
  535.             Just place  that  batch file  someplace  in your  path,  and
  536.             you're all set to go!
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.                                        Page 9
  558.  
  559.  
  560.  
  561.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  562.  
  563.  
  564.                         RUNNING CMORPH FROM THE COMMAND LINE
  565.  
  566.             Usage:
  567.                  CMORPH [options] SIMAGE TIMAGE
  568.  
  569.             SIMAGE and TIMAGE are required parameters.  SIMAGE is the
  570.             file name for the source image ("morphed from") and the
  571.             TIMAGE is the file name for the target image ("morphed to").
  572.             These files must be in IPI, TGA, BMP, IMG or GIF format, and
  573.             they must have the same resolution.  The resolution of the
  574.             output images is derived from the resolution of the input
  575.             images.
  576.  
  577.             All options may be expressed using the slash (/) or the
  578.             minus (-) characters.
  579.  
  580.             Command line options:
  581.  
  582.                  Option:   -? -or- -h
  583.                       Displays a list of command line options to the
  584.                       screen.
  585.  
  586.                  Option:   -Axxx
  587.                       Sets 50% fade option.  Valid values range from 1 -
  588.                       100; the default is 50%.
  589.  
  590.                  Option:   -Bxxx
  591.                       Sets total number of in-between frames in morph.
  592.                       The start frame and end frame are added to this
  593.                       number for the complete number of frames in morph.
  594.                       The default is 30.
  595.  
  596.                  Option:   -Cx
  597.                       Sets cursor color to Red (-CR), Green (-CG), Blue
  598.                       (-CB) or XOR (-CX).  The default is Green.
  599.  
  600.                  Option:   -Dx
  601.                       Sets spline type used during interpolation stage
  602.                       to Catmull (-D0), Bi-cubic (-D1) or Straight (-
  603.                       D2).  The default is Catmull.
  604.  
  605.                  Option:   -Ex
  606.                       Sets spline type used during warp stage to Catmull
  607.                       (-D0), Bi-cubic (-D1) or Straight (-D2).  The
  608.                       default is Catmull.
  609.  
  610.                  Option:   -Fx
  611.                       Sets operation to Morph (-FM), Warp (-FW) or Fade
  612.                       (-F).  The default is Morph.
  613.  
  614.                  Option:   -Gxxx
  615.                       Specify graphics mode by number of scanlines.
  616.                       Valid values are 400 (640x400), 480 (640x480), 600
  617.                       (800x600) and 768 (1024x768).  By default, CMorph
  618.  
  619.  
  620.                                        Page 10
  621.  
  622.  
  623.  
  624.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  625.  
  626.  
  627.                       will search through the graphics modes for the
  628.                       highest resolution that your card can handle.  You
  629.                       may get a screen full of garbage.  This means that
  630.                       your graphics card can handle the graphics mode
  631.                       that CMorph has selected, but that your monitor
  632.                       cannot.  If this happens, you'll need to exit
  633.                       CMorph.  Just press CTRL-X followed by the 'Y'
  634.                       key.
  635.  
  636.                  Option:   -Ixxx
  637.                       Sets spline tightness option.  Valid values range
  638.                       from 1 - 100.  The default is 50%.
  639.  
  640.                  Option:   -K
  641.                       Disables Kwik-screen updates.  Kwik-screen updates
  642.                       will speed up the way in which CMorph uses the
  643.                       screen.  This does, however use more memory.  If
  644.                       memory is valuable to you, you may disable Kwik-
  645.                       screen updates by using this parameter.
  646.  
  647.                  Option:   -Lx
  648.                       Sets mesh color to Red (-LR), Green (-LG), Blue (-
  649.                       LB) or XOR (-LX).  The default is Red.
  650.  
  651.                  Option:   -Mfile
  652.                       Loads mesh from "file".  The mesh file contains
  653.                       the mesh information as well as all other
  654.                       preferences.  Since this file loads information
  655.                       that can be changed on the command line, the order
  656.                       in which they appear on the command line sets the
  657.                       priority.
  658.  
  659.                       If an option is set on the command line after the
  660.                       -M parameter, it takes priority over what is
  661.                       loaded in the mesh file, and any parameters on the
  662.                       command line before the -M parameter are
  663.                       overridden by the mesh file's parameters.
  664.  
  665.                  Option:   -Nxxx
  666.                       Sets the end frame number.  The default is 30.
  667.  
  668.                  Option:   -Ochars
  669.                       Sets the first five characters of the output
  670.                       filenames.  The default is "FRAME" (for output
  671.                       filenames like "FRAME001.TGA).
  672.  
  673.                  Option:   -Q
  674.                       Disables all sounds & beeps.
  675.  
  676.                  Option:   -Sxxx
  677.                       Sets the start frame number.  The default is 1.
  678.  
  679.                  Option:   -Text
  680.  
  681.  
  682.  
  683.                                        Page 11
  684.  
  685.  
  686.  
  687.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  688.  
  689.  
  690.                       Sets output filename extension to IPI (-TIPI), TGA
  691.                       (-TTGA), BMP (-TBMP), IMG (-TIMG) or GIF (-TGIF).
  692.  
  693.                  Option:   -U
  694.                       Disable curves for displayed meshes on startup.
  695.  
  696.                  Option:   -Wxxx
  697.                       Sets 50% warp option.  Valid values range from 1 -
  698.                       100; the default is 50%.
  699.  
  700.                  Option:   -X[X]
  701.                       Force automatic morph execution for use in batch
  702.                       mode (-X).  To force CMorph to automatically exit
  703.                       when the morph is complete, use -XX.
  704.  
  705.                  Option:   -Z
  706.                       Disable zoom window on startup.
  707.  
  708.             NOTE:  The start frame, end frame and total frames may
  709.             modify each other.  These modifications will come in the
  710.             order in which they appear on the command line.
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.                                        Page 12
  747.  
  748.  
  749.  
  750.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  751.  
  752.  
  753.                              CONFIGURING CMORPH'S MEMORY
  754.  
  755.                  CMorph uses  the  DOS/4GW DOS  Extender  from  Rational
  756.                  Systems.   This DOS  Extender places  CMorph into  "386
  757.                  Flat Model"  protected mode  where the  80386  executes
  758.                  instructions faster, and has  access to LOTS of  larger
  759.                  chunks of memory.  With access  to all of this  memory,
  760.                  CMorph can  run faster,  and perform  more  complicated
  761.                  tasks than it  would if it  were written for  a 286  or
  762.                  less processor.
  763.  
  764.                  Lets assume you have 8 MEG.  CMorph loads above the
  765.                  first MEG (this is where most systems keep their faster
  766.                  memory).  As memory is needed, CMorph gets it from the
  767.                  memory above that first MEG.  If that runs out, then
  768.                  CMorph starts looking for memory in the DOS 640K area.
  769.                  DOS's memory is used last because it is usually slower,
  770.                  and also because CMorph can run DOS programs if you
  771.                  shell out to DOS, so you will want to save as much DOS
  772.                  memory as possible.  Virtual Memory (VMM) is also
  773.                  available (see VIRTUAL MEMORY).
  774.  
  775.                  Note that programs that use Extended or Expanded memory
  776.                  (like Disk Cache programs) will take memory away from
  777.                  CMorph.  You may want to limit the memory that they use
  778.                  to allow a comfortable amount for both.
  779.  
  780.  
  781.                                    VIRTUAL MEMORY
  782.  
  783.             DESCRIPTION:
  784.                  CMorph was written with the Watcom C/C++32 9.5 and uses
  785.                  the DOS/4GW DOS Extender  from Rational Systems.   This
  786.                  royalty-free DOS Extender (DOS4GW.EXE) offers a Virtual
  787.                  Memory Manager (VMM).  When CMorph runs out of  memory,
  788.                  it can be  configured so that  it automatically  starts
  789.                  swapping to disk.   In this way,  you can actually  use
  790.                  more RAM than your computer has!
  791.  
  792.                  This configuration  MUST take  place before  CMorph  is
  793.                  run.  If CMorph runs out  of memory while running,  you
  794.                  must  save  what  your  are  doing,  exit  CMorph   and
  795.                  configure for VMM before re-starting CMorph.
  796.  
  797.                  To enable VMM, you only need  to set a single  environ-
  798.                  ment variable.    Might I  suggest  that you  create  a
  799.                  CMORPH.BAT batch file  that sets  this variable  before
  800.                  running CMorph, then clears it afterwards just in  case
  801.                  you're  not  one  for  having  all  these   environment
  802.                  variable hanging  around  when they  aren't  (like  me)
  803.                  necessary.
  804.  
  805.                  I have found a drawback to using the VMM.  It tends  to
  806.                  slows CMorph down, even when not swapping to disk.
  807.  
  808.  
  809.                                        Page 13
  810.  
  811.  
  812.  
  813.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  814.  
  815.  
  816.  
  817.                  To enable VMM with default values, just "SET DOS4GVM=1"
  818.                  from within  DOS before  entering  CMorph.   It's  that
  819.                  simple.  But, like all other things, there is a way  to
  820.                  complicate it  by configuring  it (it's  not that  bad,
  821.                  actually).
  822.  
  823.                  Usage:
  824.                     SET DOS4GVM=[option[#value]] [option[#value]]...
  825.  
  826.                  (the '#' is  used with options  that take values  since
  827.                  the DOS command shell will not accept "=")
  828.  
  829.                  Setting the DOS4GVM=1 will  use default values for  all
  830.                  options.  Here are some control options:
  831.  
  832.                  MINMEM         The minimum  amount  of RAM  managed  by
  833.                                 VMM.  The default is 512K
  834.                  MAXMEM         The Maximum  amount  of RAM  managed  by
  835.                                 VMM.  The default is 4MB.
  836.                  SWAPMIN        The minimum or initial size of the  swap
  837.                                 file.  If this  option is not used,  the
  838.                                 size  of  the  swap  file  is  based  on
  839.                                 VIRTUALSIZE (see below).
  840.                  SWAPINC        The size by which the swap file grows.
  841.                  SWAPNAME       The swap file name.  The default name is
  842.                                 "DOS4GVM.SWP".  By  default the file  is
  843.                                 in the  root  directory of  the  current
  844.                                 drive.  Specify  the complete path  name
  845.                                 if you  want to  keep the  swap file  on
  846.                                 another drive.
  847.                  DELETESWAP     Whether the  swap file  is deleted  when
  848.                                 CMorph exits.   By default  the file  is
  849.                                 NOT deleted.  Program startup is quicker
  850.                                 if the file is NOT deleted.
  851.                  VIRTUALSIZE    The size  of  the virtual  memory  space
  852.                                 (swap file plus allocated memory).   The
  853.                                 default is 16MB.
  854.  
  855.                  If you wish to have a temporary swap file, and only use
  856.                  no more than 4 MEG of RAM, then use the example below:
  857.  
  858.                     SET DOS4GVM=DELETESWAP maxmem#8192
  859.  
  860.                  NOTE:  This DOS Extender is especially advantageous for
  861.                  programmers.  I HIGHLY RECOMMEND the Watcom C/C++32 9.5
  862.                  compiler to  developers.    I own  Borland  C/C++  3.1,
  863.                  Microsoft C/C++ 7.0, and Watcom C/C++32 9.5.  My choice
  864.                  development tools are the Watcom Tools (although I hate
  865.                  to give up the Turbo Debugger).  Take the time to learn
  866.                  them, they are wonderful!
  867.  
  868.  
  869.  
  870.  
  871.  
  872.                                        Page 14
  873.  
  874.  
  875.  
  876.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  877.  
  878.  
  879.                                    IPI FILE FORMAT
  880.  
  881.             DESCRIPTION:
  882.                  The IPI  (pronounced "ipee")  file  format is  used  to
  883.                  store 24-bit images. This format was designed to be the
  884.                  simplest to decode for programmers so that they may add
  885.                  functionality to CMorph  via external  programs.   This
  886.                  file format was originally  designed for use in  CImage
  887.                  (The Complete Image, another of  my products).  If  you
  888.                  don't own a  copy of CImage  (I won't try  to sell  you
  889.                  one, I promise), then you will most likely have no  use
  890.                  for this file format.
  891.  
  892.                  The IPI format is as follows:
  893.                     X resolution (WORD - MSB first)
  894.                     Y resolution (WORD - MSB first)
  895.                     Image data:
  896.                        FOR EACH PIXEL IN THE SCREEN (XRES * YRES)
  897.                        {
  898.                           Red Element   (BYTE)
  899.                           Green Element (BYTE)
  900.                           Blue Element  (BYTE)
  901.                        }
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.                                        Page 15
  936.  
  937.  
  938.  
  939.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  940.  
  941.  
  942.                                    OPERATIONS MENU
  943.  
  944.             When you run CMorph, you'll see the main menu.  Well, OK, so
  945.             it's not a complete menu, it just a couple of buttons
  946.             located just below the source image.  They should be titled:
  947.             "Operations" and "Preferences".
  948.  
  949.             Lets start by explaining the Operations menu (since that is
  950.             the title of this section anyway).  You'll notice that there
  951.             are four categories in this menu (in case you haven't done
  952.             this yet, you'll need to take your mouse and click on the
  953.             Operations button to get the menu to appear).
  954.  
  955.             Operations menu category "Operations":
  956.                  "Exit" button:
  957.                       Exit to DOS.
  958.  
  959.                  "Morph It" button:
  960.                       Start the actual morph.  Depending on the
  961.                       operation selected, this button could be titled
  962.                       "Morph it", "Warp it", or "Fade it".
  963.  
  964.                  "DOS Shell" button:
  965.                       Shell to DOS.  This will run a temporary copy of
  966.                       DOS.  Once you are at in DOS, you may return to
  967.                       CMorph by typing "EXIT" on the DOS command line.
  968.  
  969.             Operations menu category "File":
  970.                  "Load Mesh" button:
  971.                       Load a mesh from a file.  Mesh files save the
  972.                       actual mesh as well as all preferences.
  973.  
  974.                  "Save Mesh" button:
  975.                       Load a mesh from a file.  Mesh files save the
  976.                       actual mesh as well as all preferences.
  977.  
  978.             Operations menu category "Edit":
  979.                  "Swap Mesh" button:
  980.                       Swaps the meshes from source to target and from
  981.                       target to source.
  982.  
  983.             Operations menu category "Help":
  984.                  "Help" button:
  985.                       Displays a help window of available keys for
  986.                       navigating through the menus.
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.                                        Page 16
  999.  
  1000.  
  1001.  
  1002.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1003.  
  1004.  
  1005.                                   PREFERENCES MENU
  1006.  
  1007.             The Preferences menu allows you to change all of CMorph's
  1008.             preferences and options.  You'll notice that there are four
  1009.             categories in this menu.  They are:
  1010.  
  1011.             Preferences menu category "Spline Settings":
  1012.                  Sub menu category "Mesh":
  1013.                       "Catmull" button:
  1014.                            This button selects the type of spline used
  1015.                            during the mesh warping stage.  Selecting
  1016.                            this button will change it's title to
  1017.                            Catmull, Bi-cubic, and Straight.  Use these
  1018.                            different spline types for different effects.
  1019.  
  1020.                  Sub menu category "Interpolation":
  1021.                       "Catmull" button:
  1022.                            This button selects the type of spline used
  1023.                            during the interpolation.  Selecting this
  1024.                            button will change it's title to Catmull, Bi-
  1025.                            cubic, and Straight.  Use these different
  1026.                            spline types for different effects.
  1027.  
  1028.                  "Gravity" text box:
  1029.                       Selects the amount of gravity used when drawing
  1030.                       the Bi-cubic mesh lines.  Valid values for this
  1031.                       option can range from 1 (very little gravity;
  1032.                       almost straight lines) to 100 (lots of gravity;
  1033.                       very curvy lines).
  1034.  
  1035.             Preferences menu category "Screen Settings":
  1036.                  "Cursor color" button:
  1037.                       Toggles the cursor color from Red, to Green, to
  1038.                       Blue to XOR.
  1039.  
  1040.                  "Mesh color" button:
  1041.                       Toggles the mesh color from Red, to Green, to Blue
  1042.                       to XOR.
  1043.  
  1044.                  "Curves" button:
  1045.                       Toggles the displayed meshes from curves to
  1046.                       straight.  This option does not effect the
  1047.                       Morphing, just what is displayed on the screen.
  1048.                       Use this option to speed up the display when
  1049.                       needed.
  1050.  
  1051.                  "Zoom" button:
  1052.                       Toggles the zoom window.  When the zoom window is
  1053.                       ON, the display and the cursor can be slow.  Use
  1054.                       this option when you need precise placement of
  1055.                       mesh points.
  1056.  
  1057.             Preferences menu category "Output Control":
  1058.                  "Output:  TGA" button:
  1059.  
  1060.  
  1061.                                        Page 17
  1062.  
  1063.  
  1064.  
  1065.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1066.  
  1067.  
  1068.                       This button selects the output file type for the
  1069.                       individual frames that CMorph produces as it
  1070.                       morphs.  The title of this button changes from
  1071.                       TGA, to BMP, to IMG, to GIF to IPI.
  1072.  
  1073.                  "Morph" button:
  1074.                       Selects the operation to perform.  The title of
  1075.                       this button will change from Morph to Warp to
  1076.                       Fade, depending on currently set operation.
  1077.  
  1078.                  "Fade 50" text box:
  1079.                       This option will select at what percent of the
  1080.                       morph the fade will reach 50%.  For example, if
  1081.                       this option is set to 10, then at 10% of the
  1082.                       morph, the fade will reach 50%, hence, most of the
  1083.                       warping is done early on in the morph.
  1084.  
  1085.                  "Warp 50" text box:
  1086.                       This option will select at what percent of the
  1087.                       morph the warp will reach 50%.  For example, if
  1088.                       this option is set to 10, then at 10% of the
  1089.                       morph, the warp will reach 50%, hence, most of the
  1090.                       warping is done early on in the morph.
  1091.  
  1092.             Preferences menu category "Frame Control":
  1093.                  "Total Frames" text box:
  1094.                       This text box simply selects the total number of
  1095.                       frames to create for this morph.  The starting
  1096.                       frame and ending frame are always saved
  1097.                       separately.
  1098.  
  1099.                  "Start Frame" text box:
  1100.                       This text box simply selects the first frame
  1101.                       within the number of total frames.  If the total
  1102.                       frames is set to 30, and the start frame is set to
  1103.                       20 with the end frame set to 25, then 6 frames
  1104.                       (20-25 inclusive) will be generated.
  1105.  
  1106.                  "End Frame" text box:
  1107.                       This text box simply selects the last frame within
  1108.                       the number of total frames.  If the total frames
  1109.                       is set to 30, and the start frame is set to 20
  1110.                       with the end frame set to 25, then 6 frames (20-25
  1111.                       inclusive) will be generated.
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.                                        Page 18
  1125.  
  1126.  
  1127.  
  1128.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1129.  
  1130.  
  1131.                                    CREATING A MESH
  1132.  
  1133.             Morphing relies on high quality meshes for high quality
  1134.             morphs.  So, before you create a mesh, start by examining
  1135.             where you want to place your most important mesh points.
  1136.  
  1137.             Once you have decided where you want your primary mesh
  1138.             points, you can start adding mesh points.  Once all of your
  1139.             primary mesh points have been added, you can add support
  1140.             points to help clean up the morph even more.
  1141.  
  1142.             To add a mesh line, move the mouse to the border of the
  1143.             image that you want to add a mesh line to, and click the
  1144.             right button.  To add a horizontal mesh line, click in the
  1145.             left or right side border.  To add a vertical mesh line,
  1146.             click in the top or bottom border.
  1147.  
  1148.             The mesh lines that get added will be placed between the two
  1149.             lines that you were located between when you clicked on the
  1150.             mouse.  Most of the time, straight-through mesh lines cannot
  1151.             be added to the image, so the mesh line is bent at each
  1152.             intersection so that it may maneuver through the maze of
  1153.             mesh points.
  1154.  
  1155.             You may notice that there were actually two mesh lines
  1156.             added, one for each image.  This is because CMorph requires
  1157.             that there be an equal number of mesh lines in each image.
  1158.             This should be taken into consideration when adding mesh
  1159.             lines.
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.                                        Page 19
  1188.  
  1189.  
  1190.  
  1191.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1192.  
  1193.  
  1194.                                  FUTURE ENHANCEMENTS
  1195.  
  1196.             o    Add the spline features:
  1197.                       New Nettleman spline
  1198.                       Sine wave addition to splines
  1199.  
  1200.             o    Add output of .FLI/.FLC/.FLX file format.
  1201.  
  1202.             o    Add a "Start fade here" option...
  1203.  
  1204.             o    Speedups:
  1205.                       Speed up morphing status window
  1206.                       Fast Modes
  1207.  
  1208.             o    Mesh point deletion
  1209.  
  1210.             o    Move entire mesh lines
  1211.  
  1212.             o    Allow different size for input/output images
  1213.  
  1214.             o    Add other file formats:
  1215.                       Targa (versions of the Targa file that are not
  1216.                            currently supported)
  1217.                       TIFF
  1218.                       Other versions of GIF
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.                                        Page 20
  1251.  
  1252.  
  1253.  
  1254.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1255.  
  1256.  
  1257.                              CONTACTING CUSTOMER SUPPORT
  1258.  
  1259.             I'm available in the evenings, I have the standard 9-5 job
  1260.             (eastern time).  If you need to reach me during the day, you
  1261.             can do so by calling and leaving a message.  I call in to my
  1262.             voice mail about three times per day, however, on hectic
  1263.             days, it's not so easy, and I may not get any messages at
  1264.             all until the evening.
  1265.  
  1266.             Tech Support is available for all registered users for one
  1267.             full year following the purchase.  For non-registered users
  1268.             (and registered users over one year), tech support is not
  1269.             officially available.  But if I'm not swamped, I'll try to
  1270.             get back to you.  Registered users over one year have
  1271.             priority over non-registered users.  So, please state your
  1272.             status.  It can be verified on computer.
  1273.  
  1274.             To contact me, just call (313) 941-9223.
  1275.  
  1276.             You may also mail your support questions to:
  1277.  
  1278.                  Paul D. Nettle
  1279.                  9668 Washington St.
  1280.                  Romulus, MI  48174
  1281.  
  1282.             My phone number and address are for support, comments,
  1283.             suggestions, questions, registration information, and of
  1284.             course, orders.
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.                                        Page 21
  1314.  
  1315.  
  1316.  
  1317.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1318.  
  1319.  
  1320.                                 ORDERING INFORMATION
  1321.  
  1322.  
  1323.             What you will get when you register through the author:
  1324.  
  1325.             o    The registered version of CMorph on disk (your choice
  1326.                  of disk format -- 1.2M or 1.44M).
  1327.  
  1328.             o    A printed manual.
  1329.  
  1330.             o    The next update of CMorph -- free of charge (Including
  1331.                  printed documentation).
  1332.  
  1333.             o    Peace of mind.
  1334.  
  1335.  
  1336.             What you will get when you register through the RayTech BBS:
  1337.  
  1338.             o    The registered version of CMorph via modem or mail.
  1339.  
  1340.             o    Peace of mind.
  1341.  
  1342.  
  1343.             Differences between non-registered and registered users:
  1344.  
  1345.             o    Registered versions don't display the registration
  1346.                  notice upon startup of CMorph.
  1347.  
  1348.             o    Registered versions are marked with an "r" after the
  1349.                  version number in the title rather than a "u".
  1350.  
  1351.             o    Registered users are allowed free technical support
  1352.                  priority via phone or by mail.  Non-registered users
  1353.                  are given no official technical support.  (see
  1354.                  Contacting Customer Support).
  1355.  
  1356.             How to register with the author:
  1357.                  To order a copy of The Complete Morph, just print out
  1358.                  the REGISTR.FRM, fill it in, and send it with you check
  1359.                  or money order for $35.00.
  1360.  
  1361.             How to register with RayTech BBS in UK:
  1362.                  Simply log onto the RayTech BBS (+44 862-88340) and
  1363.                  follow online instructions.  The RayTech BBS will allow
  1364.                  you to charge your order on Visa, Master Card and
  1365.                  EuroCard.  Other payment methods available.
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.                                        Page 22
  1377.  
  1378.