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