home *** CD-ROM | disk | FTP | other *** search
/ Magicom Multimedia Collection: Morph / Magicom-TheCompleteMorphSharewares-Win31.iso / programs / cmorph / cmorph.arj / CMORPH.DOC next >
Encoding:
Text File  |  1993-11-25  |  66.5 KB  |  1,937 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                               The Complete Morph v2.00
  8.  
  9.                                     User's Guide
  10.  
  11.                            Copyright 1993, Paul D. Nettle
  12.  
  13.  
  14.                                       _______
  15.                                  ____|__     |                (R)
  16.                               --|       |    |-------------------
  17.                                 |   ____|__  |  Association of
  18.                                 |  |       |_|  Shareware
  19.                                 |__|   o   |    Professionals
  20.                               -----|   |   |---------------------
  21.                                    |___|___|    MEMBER
  22.  
  23.  
  24.                          Document dated:  November 25, 1993
  25.  
  26.                                    Paul D. Nettle
  27.                                  9668 Washington St.
  28.                                   Romulus, MI 48174
  29.                                    (313) 941-9223
  30.  
  31.                            Author's name:  Paul D. Nettle
  32.                          Author's Compuserve ID:  72163,2442
  33.  
  34.                   This document also Copyright 1993, Paul D. Nettle
  35.  
  36.           A limited license is granted to reprint short extracts from  this
  37.           document as long as credit is given to the above mentioned party.
  38.           Individuals, BBSs and User Groups  may distribute copies of  this
  39.           software, it's  documentation  and associated  files  (originally
  40.           distributed in an archive) freely as long as the files remain in-
  41.           tact, unmodified, are not re-named and are not made part of  some
  42.           larger work without the written permission of Paul D. Nettle.   A
  43.           BBS may rearchive the unmodified archived file's contents as long
  44.           as the  resulting archive  is named  CMORPH20.ZIP,  CMORPH20.ARC,
  45.           CMORPH20.LZH or CMORPH20.???
  46.  
  47.  
  48.  
  49.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  50.  
  51.  
  52.                                   TABLE OF CONTENTS
  53.  
  54.           Introduction.............................................4
  55.                What is Morphing?...................................4
  56.                How does it work?...................................4
  57.           CMorph is a full-featured morphing program.  Take a look:5
  58.                System Requirements.................................6
  59.           Ombudsman Statement......................................7
  60.           Definition of Shareware..................................7
  61.           Disclaimer - Agreement...................................8
  62.           Getting Started..........................................9
  63.           Running CMorph from the command line.....................10
  64.           Configuring CMorph's Memory..............................11
  65.                Virtual Memory......................................11
  66.           Protected Mode Switching.................................13
  67.                Fine Control of Memory Usage........................14
  68.                Specifying a Range of Extended Memory...............14
  69.           A Note On the GUI........................................16
  70.           A Few Notes On the Mouse.................................17
  71.           The Go Menu..............................................18
  72.                Go menu category SYSTEM.............................18
  73.                     LEAVE button...................................18
  74.                     DOS SHELL button...............................18
  75.                     GO button......................................18
  76.                Go menu category OTHER..............................18
  77.                     HELP button....................................18
  78.                     ABOUT button...................................18
  79.           Preferences Menu.........................................19
  80.                Preferences menu catagory:  SPLINE SETTINGS.........19
  81.                     Submenu catagory:  MESH........................19
  82.                          CATMULL, BICUBIC and STRAIGHT buttons.....19
  83.                          TIGHTNESS text box........................19
  84.                     Submenu catagory:  INTERPOLATION...............19
  85.                          CATMULL, BICUBIC and STRAIGHT buttons.....19
  86.                          TIGHTNESS text box........................19
  87.                Preferences menu catagory:  SCREEN SETTINGS.........19
  88.                     DISPLAY CURVES button..........................19
  89.                     ZOOM button....................................19
  90.                     KWIK-SCREEN button.............................19
  91.                     SOUNDS button..................................19
  92.                     CURSOR COLOR buttons...........................20
  93.                     MESH COLOR buttons.............................20
  94.                Preferences menu catagory:  OUTPUT IMAGE FORMAT.....20
  95.                     IMAGE FORMAT buttons...........................20
  96.                     TGAs BOTTOM-UP button..........................20
  97.                Preferences menu catagory:  OPERATION...............20
  98.                     OPERATION buttons..............................20
  99.                     FAST MORPH button..............................20
  100.                Preferences menu catagory:  OUTPUT CONFIGURATION....20
  101.                     FADE 50% text box..............................20
  102.                     FADE START % text box..........................20
  103.                     FADE END % text box............................20
  104.                     WARP 50% text box..............................20
  105.                     WARP START % text box..........................21
  106.  
  107.  
  108.                                        Page 2
  109.  
  110.  
  111.  
  112.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  113.  
  114.  
  115.                     WARP END % text box............................21
  116.                Preferences menu catagory:  FRAME CONTROL...........21
  117.                     TOTAL FRAMES text box..........................21
  118.                     START FRAME text box...........................21
  119.                     END FRAME text box.............................21
  120.                     FRAME OFFSET text box..........................21
  121.           The Other Menus..........................................22
  122.                The Edit Menu.......................................22
  123.                The File Menu.......................................22
  124.                The Filters Menu....................................22
  125.                The Preview Menu....................................22
  126.           Creating a Mesh..........................................24
  127.           Filter file (.FLT) format................................25
  128.           IPI File Format..........................................27
  129.           Future Enhancements......................................28
  130.           Contacting Customer Support..............................29
  131.           Ordering Information.....................................30
  132.                What you will get when you register.................30
  133.                What you get when you register via Raytech BBS......30
  134.                Non-registered vs registered users..................30
  135.           How to Register..........................................31
  136.                How to register with the author.....................31
  137.                How to register on-line with the CompuServe.........31
  138.                Registration via RayTech BBS (in the UK only).......31
  139.                     Who is Raytech?................................31
  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.                                        Page 3
  172.  
  173.  
  174.  
  175.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  176.  
  177.  
  178.                                     INTRODUCTION
  179.  
  180.           Thank you for choosing  "The Complete Morph."   I hope that  this
  181.           product will be as useful for you as it was fun for me to  write.
  182.           I'll try to keep this document  from being dry, so forgive me  if
  183.           the jokes get bad.
  184.  
  185.           From  now  on,  lets  just  call  "The  Complete  Morph"   CMorph
  186.           (pronounced "See-Morph".)
  187.  
  188.           What is morphing?
  189.  
  190.                Morphing is the process of slowly  fading from one image  to
  191.                another, while warping the contents  of both images so  that
  192.                they "metamorphasize."
  193.  
  194.           How does it work?
  195.  
  196.                Morphing is, in theory, actually very simple.  Understanding
  197.                how morphing works internally will aid you in creating high-
  198.                quality morph animations.
  199.  
  200.                For a  good quality  morph, start  by taking  your time  and
  201.                finding  a  pair  of  similar  images  that  have  the  same
  202.                resolution.  As an example, try  to find two 320x200  images
  203.                that both contain a full-screen face that is facing the same
  204.                way, has the same orientation, and who's major points (eyes,
  205.                etc.) line up pretty close to each other if they were to  be
  206.                overlaid.
  207.  
  208.                Now that you  have two images,  a mesh must  be placed  over
  209.                each one.   This  is the  "manual-labor" part  of  morphing.
  210.                Take your time, this mesh defines the quality of the morph.
  211.  
  212.                A mesh is made up of horizontal and vertical lines  overlaid
  213.                onto both  images.   Each  vertex of  the  mesh can  be  re-
  214.                located.  The points are usually connected by a curved  line
  215.                to smooth the  bends.   But be careful  not to  let any  two
  216.                horizontal or any two vertical mesh lines cross.
  217.  
  218.                Once all of the mesh lines  are complete, the points in  the
  219.                mesh should  line up  with their  counterpart on  the  other
  220.                image (for example, the  point on the  source image that  is
  221.                centered in the left  eye should have  a counterpart on  the
  222.                destination image  that is  also on  the  left eye  in  that
  223.                image), the morphing is ready to  begin.  A hint for a  real
  224.                clean morph is to  align points in the  image that not  only
  225.                select the  features of  the image,  but also  outline  it's
  226.                features with the lines that connect the points together.
  227.  
  228.                Morphing is a three-step process.   The first two steps  are
  229.                the warping  steps.   The warping  is  done in  two  stages.
  230.                First, all of the horizontal mesh lines are used to break up
  231.                the image into "bands".  Since there are the same number  of
  232.  
  233.  
  234.                                        Page 4
  235.  
  236.  
  237.  
  238.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  239.  
  240.  
  241.                bands in each image, the destination  band is warped to  the
  242.                same shape as it's counterpart in  the source image, and  so
  243.                on through all the  bands.  Next,  the destination image  is
  244.                broken up into vertical bands using the vertical mesh lines,
  245.                and the process is repeated for the vertical direction.
  246.  
  247.                The last step in  this process is  to cross-fade the  images
  248.                into one.
  249.  
  250.           CMorph is a full-featured morphing program.  Take a look:
  251.  
  252.                o  Reads and writes GIF, IMG, TGA, BMP and IPI image files.
  253.  
  254.                o  CMorph  has  a  very  beautiful  and  easy-to-use  user-
  255.                   interface that  utilizes  all  256  colors  of the  SVGA
  256.                   palette, and on most video  cards can handle resolutions
  257.                   up to 800x600 (1024x768  mode is only  available on some
  258.                   video cards).
  259.  
  260.                o  A DOS-shell  helps you  with those  unexpected  needs to
  261.                   visit the DOS prompt.
  262.  
  263.                o  You control the  output.  Create  a morph, a  warp, or a
  264.                   simple fade.  Each of  these options utilizes parameters
  265.                   that let you control where in your animation most of the
  266.                   warping and the fading take place for super fine-tuning.
  267.  
  268.                o  An interface for external programs to perform tasks that
  269.                   CMorph doesn't already perform via the IPI file format -
  270.                   - explained later in this document.  This file format is
  271.                   also used in CImage, another of my products.
  272.  
  273.                o  CMorph has advanced spline meshes  giving you the option
  274.                   of three different spline types:   Catmull (used in most
  275.                   morphing software today), Bi-cubic splines, and straight
  276.                   lines.  Different  effects can  be obtained  by changing
  277.                   which spline  type is  used  for the  image  warping and
  278.                   which spline type  is used  for the interpolation.   The
  279.                   Bi-cubic splines make use of  a tightness parameter that
  280.                   allows  you  to  have  spline  meshes  that  are  almost
  281.                   straight to "very curvy".
  282.  
  283.                o  CMorph also has  advanced mesh editing  features such as
  284.                   mirrored cursors,  and cross  cursors for  aligning mesh
  285.                   points between  the two  images.   A Zoom  window tracks
  286.                   your cursor helping you get pixel-perfect output.
  287.  
  288.                o  CMorph uses ALL  available memory  by running  in 32-bit
  289.                   protected mode.  If  you need more memory,  you can turn
  290.                   on the Virtual Memory.
  291.  
  292.                o  CMorph is complimented  by it's complete  suite of image
  293.                   processing filters.    There are  100  pre-defined, user
  294.                   definable filters.
  295.  
  296.  
  297.                                        Page 5
  298.  
  299.  
  300.  
  301.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  302.  
  303.  
  304.  
  305.                o  Color   selectable   overlays   and   color   selectable
  306.                   backgrounds allow you to  put your morph  into any scene
  307.                   and add your name to the animation with ease.
  308.  
  309.           System Requirements:
  310.  
  311.                CMorph requires at least  a 386, and a  video card that  can
  312.                handle 256  colors in  640x400 mode,  640x480 mode,  800x600
  313.                mode, or  1024x768 mode  is best.   A  math co-processor  is
  314.                optional, but highly  recommended.   4MB of  memory is  also
  315.                required (although  8MB  is better,  and  any more  is  just
  316.                great).
  317.  
  318.           I hope you enjoy using The Complete Morph!
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  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.                                        Page 6
  361.  
  362.  
  363.  
  364.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  365.  
  366.  
  367.                                  OMBUDSMAN STATEMENT
  368.  
  369.           This program is produced by a member of the Association of
  370.           Shareware Professionals (ASP).  ASP wants to make sure that the
  371.           Shareware principle works for you. If you are unable to resolve a
  372.           Shareware-related problem with an ASP member by contacting the
  373.           member directly, ASP may be able to help. The ASP Ombudsman can
  374.           help you resolve a dispute or problem with an ASP member, but
  375.           does not provide technical support for members' products.  Please
  376.           write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI
  377.           49442-9427 USA, FAX 616-788-2765 or send a CompuServe message via
  378.           CompuServe Mail to ASP Ombudsman 70007,3536.
  379.  
  380.                                DEFINITION OF SHAREWARE
  381.  
  382.           Shareware distribution  gives  users  a chance  to  try  software
  383.           before buying it.  If you try  a Shareware  program and  continue
  384.           using it,  you  are  expected to  register.  Individual  programs
  385.           differ on  details  --  some request  registration  while  others
  386.           require  it,   some  specify   a  maximum   trial  period.   With
  387.           registration, you get anything from the simple right to  continue
  388.           using the software to an updated program with printed manual.
  389.  
  390.           Copyright laws apply to  both Shareware and commercial  software,
  391.           and the copyright holder retains all rights, with a few  specific
  392.           exceptions as stated  below. Shareware  authors are  accomplished
  393.           programmers, just like commercial  authors, and the programs  are
  394.           of comparable quality.  (In both cases,  there are good  programs
  395.           and  bad  ones!)  The  main  difference  is  in  the  method   of
  396.           distribution. The author  specifically grants the  right to  copy
  397.           and distribute the  software, either to  all and sundry  or to  a
  398.           specific  group.  For  example,  some  authors  require   written
  399.           permission  before  a  commercial  disk  vendor  may  copy  their
  400.           Shareware.
  401.  
  402.           Shareware is a distribution method, not  a type of software.  You
  403.           should find  software  that  suits  your  needs  and  pocketbook,
  404.           whether it's commercial or Shareware. The Shareware system  makes
  405.           fitting your needs easier,  because you can  try before you  buy.
  406.           And because the overhead is low,  prices are low also.  Shareware
  407.           has the ultimate  money-back guarantee --  if you  don't use  the
  408.           product, you don't pay for it.
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.                                        Page 7
  424.  
  425.  
  426.  
  427.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  428.  
  429.  
  430.                                DISCLAIMER - AGREEMENT
  431.  
  432.           Users of  The  Complete  Morph must  accept  this  disclaimer  of
  433.           warranty:  "The  Complete Morph is  supplied as is.   The  author
  434.           disclaims  all  warranties,  expressed  or  implied,   including,
  435.           without limitation,  the  warranties of  merchantability  and  of
  436.           fitness for  any purpose.  The author  assumes no  liability  for
  437.           damages, direct or consequential, which  may result from the  use
  438.           of The Complete Morph."
  439.  
  440.           The Complete Morph is a "Shareware program" and is provided at no
  441.           charge to the user  for evaluation.  Feel  free to share it  with
  442.           your friends, but please do not  give it away altered or as  part
  443.           of another system.  The  essence of "user-supported" software  is
  444.           to provide personal computer users with quality software  without
  445.           high prices,  and yet  to provide  incentive for  programmers  to
  446.           continue to  develop new  products.   If  you find  this  program
  447.           useful and  find  that  you are  using  The  Complete  Morph  and
  448.           continue to  use  The Complete  Morph  after a  reasonable  trial
  449.           period, you must make a registration payment of 35.00 to Paul  D.
  450.           Nettle.  The 35.00 registration fee will license one copy for use
  451.           on any  one  computer at  any  one time.    You must  treat  this
  452.           software just like a book.  An example is that this software  may
  453.           be used by any number of people and may be freely moved from  one
  454.           computer location to another, so long as there is no  possibility
  455.           of it  being  used at  one  location  while it's  being  used  at
  456.           another.  Just as a book cannot be read by two different  persons
  457.           at the same time.
  458.  
  459.           Commercial users of The Complete Morph must register and pay  for
  460.           their copies of The Complete Morph within 30 days of first use or
  461.           their license  is withdrawn.   Site-License  arrangements may  be
  462.           made by contacting Paul D. Nettle.
  463.  
  464.           Anyone  distributing  The   Complete  Morph  for   any  kind   of
  465.           remuneration must first  contact Paul  D. Nettle  at the  address
  466.           above  for   authorization.      This   authorization   will   be
  467.           automatically granted to distributors recognized by the (ASP)  as
  468.           adhering to its guidelines  for Shareware distributors, and  such
  469.           distributors may begin  offering The  Complete Morph  immediately
  470.           (However Paul  D.  Nettle  must still  be  advised  so  that  the
  471.           distributor can be kept up-to-date with the latest version of The
  472.           Complete Morph.).
  473.  
  474.           You are encouraged to pass a copy of The Complete Morph along  to
  475.           your friends for evaluation.   Please encourage them to  register
  476.           their copy if  they find that  they can use  it.  All  registered
  477.           users will receive a copy of  the latest version of The  Complete
  478.           Morph system.
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.                                        Page 8
  487.  
  488.  
  489.  
  490.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  491.  
  492.  
  493.                                    GETTING STARTED
  494.  
  495.  
  496.           CMorph is ready to run.  All you have to do is install it.
  497.  
  498.           Installation is  simple.   Since you've  probably downloaded  the
  499.           CMorph archive and un-archived it (which  you needed to do to  be
  500.           reading this document) you're already set to go.
  501.  
  502.           To run CMorph, you need to  have both, CMORPH.EXE and  DOS4GW.EXE
  503.           in your path or in the current directory when you run it.  To run
  504.           it, just  type CMORPH  followed by  two image  file names.    For
  505.           example:
  506.  
  507.                C:\> CMORPH IMAGE1.TGA IMAGE2.TGA
  508.  
  509.           There are other  command-line options, check  the section  titled
  510.           "COMMAND LINE OPTIONS" for a complete description of them.
  511.  
  512.           If you're like me,  you may already have  a very large path,  and
  513.           wish not to make it larger.   Where there is  a will, there is  a
  514.           way!   Simply  create  a  batch file  that  runs  CMorph  in  the
  515.           following way:
  516.  
  517.           C:\CMORPH\DOS4GW C:\CMORPH\CMORPH %1 %2 %3 %4 %5 %6 %7 %8 %9
  518.  
  519.           This batch file runs DOS/4GW from the CMORPH directory, and tells
  520.           it to  run CMorph  from the  same  directory.   If you  just  run
  521.           CMorph, then it will not find the DOS Extender (which is what  it
  522.           tries to do if you just run CMorph).  So, you need to run the DOS
  523.           Extender manually.
  524.  
  525.           Just place that batch file someplace in your path, and you're all
  526.           set to go!
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.                                        Page 9
  550.  
  551.  
  552.  
  553.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  554.  
  555.  
  556.                         RUNNING CMORPH FROM THE COMMAND LINE
  557.  
  558.           Usage:
  559.                E:\CMORPH\CMORPH.EXE [options] <source> <target>
  560.  
  561.           <source> and <target> are required parameters, <source> being the
  562.           file name for the source image ("morphed from") and <target>
  563.           being the file name for the target image ("morphed to").  These
  564.           files must be in IPI, TGA, BMP, IMG or GIF format, and they must
  565.           have the same resolution.  The resolution of the output images is
  566.           derived from the resolution of the input images.
  567.  
  568.           All options may be expressed using the slash (/) or the minus (-)
  569.           characters.
  570.  
  571.           [Options] are:
  572.               [-? | -H]       List this help information
  573.  
  574.               [-B[X]]         Batch mode (auto morph on startup) [with auto
  575.                               eXit]
  576.  
  577.               [-C]            Force graphics mode to 16 colors
  578.                                    Default:  256 colors
  579.  
  580.               [-Gxxx]         Force vertical resolution to xxx scanlines
  581.                                Valid values:  400/480/600/768
  582.                                Default:  auto-detect
  583.  
  584.               [-Mfilename]    Specify mesh filename
  585.  
  586.               source          Source image (IPI/TGA/BMP/IMG/GIF)
  587.  
  588.               target          Target image (IPI/TGA/BMP/IMG/GIF)
  589.  
  590.  
  591.           NOTE:     [options] may be specified before, after or between the
  592.                     image names and may be specified by either the '-' or
  593.                     the '/' chars.
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.                                        Page 10
  613.  
  614.  
  615.  
  616.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  617.  
  618.  
  619.                              CONFIGURING CMORPH'S MEMORY
  620.  
  621.                CMorph uses the DOS/4GW DOS Extender from Rational  Systems.
  622.                This DOS  Extender  places  CMorph  into  "386  Flat  Model"
  623.                protected mode where the 80386 executes instructions faster,
  624.                and has access  to LOTS of  larger chunks of  memory.   With
  625.                access to all  of this memory,  CMorph can  run faster,  and
  626.                perform more  complicated tasks  than it  would if  it  were
  627.                written for a 286 or less processor.
  628.  
  629.                Lets assume you have 8 MEG.  CMorph loads above the first
  630.                MEG (this is where most systems keep their faster memory).
  631.                As memory is needed, CMorph gets it from the memory above
  632.                that first MEG.  If that runs out, then CMorph starts
  633.                looking for memory in the DOS 640K area.  DOS's memory is
  634.                used last because it is usually slower, and also because
  635.                CMorph can run DOS programs if you shell out to DOS, so you
  636.                will want to save as much DOS memory as possible.  Virtual
  637.                Memory (VMM) is also available (see VIRTUAL MEMORY).
  638.  
  639.                Note that programs that use Extended or Expanded memory
  640.                (like Disk Cache programs) will take memory away from
  641.                CMorph.  You may want to limit the memory that they use to
  642.                allow a comfortable amount for both.
  643.  
  644.  
  645.                                    VIRTUAL MEMORY
  646.  
  647.                CMorph was written with the Watcom C/C++32 9.5 and uses  the
  648.                DOS/4GW DOS Extender from  Rational Systems.  This  royalty-
  649.                free DOS  Extender  (DOS4GW.EXE)  offers  a  Virtual  Memory
  650.                Manager (VMM).  When  CMorph runs out of  memory, it can  be
  651.                configured so that it automatically starts swapping to disk.
  652.                In this  way,  you  can actually  use  more  RAM  than  your
  653.                computer has!
  654.  
  655.                This configuration MUST take place before CMorph is run.  If
  656.                CMorph runs out of memory while running, you must save  what
  657.                your are doing, exit CMorph and configure for VMM before re-
  658.                starting CMorph.
  659.  
  660.                To enable VMM,  you only need  to set  a single  environment
  661.                variable.   Might I  suggest that  you create  a  CMORPH.BAT
  662.                batch file that  sets this variable  before running  CMorph,
  663.                then clears it afterwards  just in case  you're not one  for
  664.                having all these  environment variable  hanging around  when
  665.                they aren't (like me) necessary.
  666.  
  667.                I have found a drawback to using the VMM.  It tends to slows
  668.                CMorph down, even when not swapping to disk.
  669.  
  670.                To enable VMM with default values, just "SET DOS4GVM=1" from
  671.                within DOS before entering CMorph.  It's that simple.   But,
  672.  
  673.  
  674.  
  675.                                        Page 11
  676.  
  677.  
  678.  
  679.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  680.  
  681.  
  682.                like all other things,  there is a way  to complicate it  by
  683.                configuring it (it's not that bad, actually).
  684.  
  685.                Usage:
  686.                   SET DOS4GVM=[option[#value]] [option[#value]]...
  687.  
  688.                (the '#' is used with options that take values since the DOS
  689.                command shell will not accept "=")
  690.  
  691.                Setting the  DOS4GVM=1  will  use  default  values  for  all
  692.                options.  Here are some control options:
  693.  
  694.                MINMEM         The minimum  amount of  RAM managed  by  VMM.
  695.                               The default is 512K
  696.                MAXMEM         The Maximum  amount of  RAM managed  by  VMM.
  697.                               The default is 4MB.
  698.                SWAPMIN        The minimum or initial size of the swap file.
  699.                               If this option is not  used, the size of  the
  700.                               swap  file  is  based  on  VIRTUALSIZE   (see
  701.                               below).
  702.                SWAPINC        The size by which the swap file grows.
  703.                SWAPNAME       The swap  file name.    The default  name  is
  704.                               "DOS4GVM.SWP".  By default the file is in the
  705.                               root directory of the current drive.  Specify
  706.                               the complete path  name if you  want to  keep
  707.                               the swap file on another drive.
  708.                DELETESWAP     Whether the swap file is deleted when  CMorph
  709.                               exits.  By default  the file is NOT  deleted.
  710.                               Program startup is quicker if the file is NOT
  711.                               deleted.
  712.                VIRTUALSIZE    The size of  the virtual  memory space  (swap
  713.                               file plus allocated memory).  The default  is
  714.                               16MB.
  715.  
  716.                If you wish to have a  temporary swap file, and only use  no
  717.                more than 4 MEG of RAM, then use the example below:
  718.  
  719.                   SET DOS4GVM=DELETESWAP maxmem#8192
  720.  
  721.                NOTE:  This DOS Extender is especially advantageous for
  722.                programmers.  I HIGHLY RECOMMEND the Watcom C/C++32 9.5
  723.                compiler to developers.  I own Borland C/C++ 3.1, Microsoft
  724.                C/C++ 7.0, and Watcom C/C++32 9.5.  My choice development
  725.                tools are the Watcom Tools (although I hate to give up the
  726.                Turbo Debugger).  Take the time to learn them, they are
  727.                wonderful!
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.                                        Page 12
  739.  
  740.  
  741.  
  742.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  743.  
  744.  
  745.                                  PROTECTED MODE SWITCHING
  746.  
  747.                The following section is almost exactly as it appears in the
  748.                manual for Watcom C/C++ 32-bit v9.5a.
  749.  
  750.                In almost all cases, CMorph can  detect the type of  machine
  751.                that is  running  and automatically  choose  an  appropriate
  752.                real- to protected-mode switch technique.  For the few cases
  753.                in which this default setting does  not work, I provide  the
  754.                DOS16M DOS environment variable, which overrides the default
  755.                setting.
  756.  
  757.                Change the  switch mode  setting  by issuing  the  following
  758.                command:
  759.  
  760.                   set DOS16M=value
  761.  
  762.                Do not insert a space between DOS16M and the equal sign.   A
  763.                space to the right of the equal sign is optional.
  764.  
  765.                The table  below lists  the machines  and the  settings  you
  766.                would use with them.   Many settings have mnemonics,  listed
  767.                in the column "Alternate Name", that you can use instead  of
  768.                the number.   Settings  that you  must set  with the  DOS16M
  769.                variable have  the notation  "req'd"  in the  first  column.
  770.                Settings you may use are marked "option," and settings  that
  771.                will automatically be set are marked "auto."
  772.  
  773.                                              Alternate
  774.             Status  Machine         Setting  Name         Comment
  775.  
  776.       auto    386/486 w/DPMI  0        None         Automatic if DPMI is active
  777.       req'd   NEC 98-series   1        9801         Must be set for NEC 98-seri
  778.       auto    PS/2            2        None         Set automatically for PS/2
  779.       auto    386/486         3        386, 80386   Set automatically for 386/4
  780.       auto    386             INBOARD  None         386 with Intel Inboard
  781.       req'd   Fujitsu FMR-70  5        None         Must be set for Fujitsu FMR
  782.       auto    386/486 w/VCPI  11       None         Set automatically for VCPI
  783.       req'd   Hitachi B32     14       None         Must be set for Hitachi B32
  784.       req'd   OKI if800       15       None         Must be set for OKI if800
  785.       option  IBM PS/55       16       None         May be needed for some PS/5
  786.  
  787.                The following procedure shows you how to test the switch
  788.                mode setting.
  789.  
  790.                1.   If you have one of the  machines listed below, set  the
  791.                     DOS16M environment variable to the value shown for that
  792.                     machine and specify  a range of  extended memory.   For
  793.                     example, if  your  machine  is  a  NEC  98-series,  set
  794.                     DOS16M=1 @2M-4M.   See  the section,  "Fine Control  of
  795.                     Memory  Usage"   later  in   this  chapter   for   more
  796.                     information about setting the memory range.
  797.  
  798.                               Machine                  Setting
  799.  
  800.  
  801.                                        Page 13
  802.  
  803.  
  804.  
  805.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  806.  
  807.  
  808.                               NEC-98-series            1
  809.                               Fujitsu FMR-60,-70       5
  810.                               Hitachi B32              14
  811.                               OKI if800                15
  812.  
  813.                Before running  CMorph, check  the  switch mode  setting  by
  814.                following this procedure:
  815.  
  816.                2.   Run PMINFO and note the switch setting reported on  the
  817.                     last line of the display.
  818.  
  819.                     If PMINFO runs, the setting is usable on your machine.
  820.  
  821.                3.   If you changed the switch setting, add the new  setting
  822.                     to your CMORPH.BAT file, or your AUTOEXEC.BAT file.
  823.  
  824.                Note:     PMINFO will run successfully on 286 machines.   If
  825.                          CMORPH does not  run, and PMINFO  does, check  the
  826.                          CPU  type  reported  on  the  first  line  of  the
  827.                          display.
  828.  
  829.                               FINE CONTROL OF MEMORY USAGE:
  830.  
  831.                In addition to setting the  switch mode as described  above,
  832.                the DOS16M environment variable enables you to specify which
  833.                portion of extended  memory CMorph will  use.  The  variable
  834.                also allows  you  to instruct  CMorph  to search  for  extra
  835.                memory and use it if it is present.
  836.  
  837.                           SPECIFYING A RANGE OF EXTENDED MEMORY
  838.  
  839.                Normally, you don't need to specify  a range of memory  with
  840.                the DOS16M variable.  You must use the variable, however, in
  841.                the following cases:
  842.  
  843.                     1.   You are running on  a Fujitsu FMR-series, NEC  98-
  844.                          series,  OKI  if800-series,  or  Hitachi  B-series
  845.                          machine.
  846.  
  847.                     2.   You have older programs  that use extended  memory
  848.                          but don't follow one of the standard disciplines.
  849.  
  850.                     3.   You want to  shell out  of CMorph  to use  another
  851.                          program that requires extended memory.
  852.  
  853.                If none of  these conditions applies  to you,  you can  skip
  854.                this section.
  855.  
  856.                The general syntax is:
  857.  
  858.                set DOS16M=[switch_mode][@start_address[-end_address]]
  859.                [:size]
  860.  
  861.  
  862.  
  863.  
  864.                                        Page 14
  865.  
  866.  
  867.  
  868.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  869.  
  870.  
  871.                In the  syntax shown  above, "start_address",  "end_address"
  872.                and "size"  represent numbers,  expressed in  decimal or  in
  873.                hexadecimal (hex requires a 0x prefix).  The number may  end
  874.                with a K to indicate an address or size in kilobytes, or  an
  875.                M to indicate megabytes.  If no suffix is given, the address
  876.                or size is assumed to be in kilobytes.  If both a size and a
  877.                range are specified, the more restrictive interpretation  is
  878.                used.
  879.  
  880.                The most  flexible  strategy  is to  specify  only  a  size.
  881.                However, if you  are running with  other software that  does
  882.                not follow a convention for indicating it's use of  extended
  883.                memory, and these  other programs start  before CMorph,  you
  884.                will need to  calculate the range  of memory  used by  other
  885.                programs and specify a range for CMorph to use.
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  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.                                        Page 15
  928.  
  929.  
  930.  
  931.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  932.  
  933.  
  934.                                   A NOTE ON THE GUI
  935.  
  936.           A few  things  need  mentioning regarding  the  GUI's  new  radio
  937.           buttons.  There are two uses for the new radio buttons.
  938.  
  939.           First, they are used  to toggle on or  off certain options,  like
  940.           the zoom window (located in the  Preferences menu).  Clicking  on
  941.           this radio button will toggle it up  and down.  If the button  is
  942.           in the up position, then the feature is off, or disabled, and  if
  943.           the button  is  in the  down  position,  the feature  is  on,  or
  944.           enabled.
  945.  
  946.           The second use for  ratio buttons is  to choose between  multiple
  947.           settings for a single option.   An example of this is the  cursor
  948.           color.  Selecting a color  will de-select the currently  selected
  949.           color and select the  selected color (lots  of "selects" in  that
  950.           one!)
  951.  
  952.           There are also keys  that allow you  to navigate through  CMorph.
  953.           Pressing F1 will bring up a help window that displays them.  They
  954.           are:
  955.  
  956.                 F1/ALT-H    Gets this help information on-line
  957.                 ALT-A       Show About Box
  958.                 ALT-D       DOS Shell
  959.                 ALT-E       Enter Edit menu
  960.                 ALT-F       Enter File menu
  961.                 ALT-G       Enter Go menu
  962.                 ALT-I       Enter Filters menu
  963.                 ALT-P       Enter Preferences menu
  964.                 ALT-R       Enter Preview menu
  965.                 ALT-S       Start morphing
  966.                 ALT-V       Start a preview
  967.                 ALT-X       Exit to DOS
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.                                        Page 16
  991.  
  992.  
  993.  
  994.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  995.  
  996.  
  997.                               A FEW NOTES ON THE MOUSE
  998.  
  999.           When the mouse is in the source or the target image windows,  the
  1000.           mouse becomes a cross-hair  cursor that spans  both images.   The
  1001.           cross-hair has two crosses.   The first is  the cross that  shows
  1002.           where  the  cursor  actually  is,  and  the  second  is  a  less-
  1003.           significant cross in the opposite image.   This cross points  out
  1004.           where in the opposite image where the corresponding pixel is.
  1005.  
  1006.           Also, by placing the cursor within one of the two image  windows,
  1007.           you'll see  a filled  circle.   This  circle follows  the  cursor
  1008.           around and is placed  on the nearest mesh  point.  When the  left
  1009.           mouse button is depressed (unhappy?...NAW!), the cursor  position
  1010.           jumps to where that point is, so it may be relocated.
  1011.  
  1012.           When you have  a menu up,  you may back  up to the  main menu  by
  1013.           pressing the right button or escape.
  1014.  
  1015.           Pressing the  right  button inside  one  of the  two  information
  1016.           windows (located directly below their respective image) will hide
  1017.           the meshes.  And if  you don't bother to  read this in the  docs,
  1018.           then you'll never know this.  See, there actually is an advantage
  1019.           to reading the docs.  (Not like I ever read them, either.)
  1020.  
  1021.           The  last  note  that  needs   mentioning  is  that  in   certain
  1022.           circumstances, you'll be promoted by a message box for a "yes" or
  1023.           a "no" (like  when you exit  CMorph, for example).   When one  of
  1024.           these prompts are up, pressing the left button always means "yes"
  1025.           and the right button always means "no".
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.                                        Page 17
  1054.  
  1055.  
  1056.  
  1057.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1058.  
  1059.  
  1060.                                      THE GO MENU
  1061.  
  1062.           You'll notice that  there are four  categories in  this menu  (in
  1063.           case you haven't done  this yet, you'll need  to take your  mouse
  1064.           and click on the Operations button to get the menu to appear).
  1065.  
  1066.           Go menu category "System":
  1067.                "Leave" button:
  1068.                     Exit to DOS.
  1069.  
  1070.                "DOS Shell" button:
  1071.                     Shell to DOS.  This will run a temporary copy of DOS.
  1072.                     Once you are at in DOS, you may return to CMorph by
  1073.                     typing "EXIT" on the DOS command line.
  1074.  
  1075.                "Go" button:
  1076.                     Start the actual morphing, warping, or fading.
  1077.  
  1078.           Go menu category "Other":
  1079.                "Help" button:
  1080.                     Displays a help window of available keys for navigating
  1081.                     through the menus.
  1082.  
  1083.                "About" button:
  1084.                     Displays an about box with version and copyright
  1085.                     information.
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.                                        Page 18
  1117.  
  1118.  
  1119.  
  1120.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1121.  
  1122.  
  1123.                                   PREFERENCES MENU
  1124.  
  1125.           The Preferences menu allows you to change all of CMorph's
  1126.           preferences and options.  You'll notice that there are six
  1127.           categories in this menu.  They are:
  1128.  
  1129.           Preferences menu category "Spline Settings":
  1130.                Sub menu category "Mesh":
  1131.                     "Catmull", "BiCubic" and "Straight" buttons:
  1132.                          These buttons select the type of spline used
  1133.                          during the mesh warping stage.  Use these
  1134.                          different spline types for different effects.
  1135.  
  1136.                     "Tightness" text box:
  1137.                          Selects the amount of gravity used when drawing
  1138.                          the Bi-cubic mesh lines.  Valid values for this
  1139.                          option can range from 1 (very little gravity;
  1140.                          almost straight lines) to 100 (lots of gravity;
  1141.                          very curvy lines).  This only effects the mesh
  1142.                          warping when the BiCubic mesh type is selected.
  1143.  
  1144.                Sub menu category "Interpolation":
  1145.                     "Catmull", "BiCubic" and "Straight" buttons:
  1146.                          These buttons select the type of spline used
  1147.                          during the interpolation (or resampling) stage.
  1148.                          Use these different spline types for different
  1149.                          effects.
  1150.  
  1151.                     "Tightness" text box:
  1152.                          Selects the amount of gravity used when resampling
  1153.                          the output.  Valid values for this option can
  1154.                          range from 1 (very little gravity; almost straight
  1155.                          lines) to 100 (lots of gravity; very curvy lines).
  1156.  
  1157.           Preferences menu category "Screen Settings":
  1158.                "Display Curves" button:
  1159.                     Toggles the displayed meshes from curves to straight.
  1160.                     This option does not effect the Morphing, just what is
  1161.                     displayed on the screen.  Use this option to speed up
  1162.                     the display when needed.
  1163.  
  1164.                "Zoom" button:
  1165.                     Toggles the zoom window.  When the zoom window is ON,
  1166.                     the display and the cursor can be slow.  Use this
  1167.                     option when you need precise placement of mesh points.
  1168.  
  1169.                "Kwik-screen" button:
  1170.                     Toggles the Kwik-screen option on/off.
  1171.  
  1172.                "Sounds" button:
  1173.                     Toggles the sounds on/off.
  1174.  
  1175.                "Cursor color" buttons:
  1176.  
  1177.  
  1178.  
  1179.                                        Page 19
  1180.  
  1181.  
  1182.  
  1183.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1184.  
  1185.  
  1186.                     Toggles the cursor color from Red, to Green, to Blue to
  1187.                     XOR.
  1188.  
  1189.                "Mesh color" buttons:
  1190.                     Toggles the mesh color from Red, to Green, to Blue to
  1191.                     XOR.
  1192.  
  1193.           Preferences menu category "Output Image Format":
  1194.                "Image Format" buttons:
  1195.                     Select the output image file format.  Available choices
  1196.                     are:  TGA, IPI, IMG, GIF and BMP.
  1197.  
  1198.                "TGAs Bottom-Up" button:
  1199.                     Enables or disables the TGA files from being written
  1200.                     out in Bottom-up format.
  1201.  
  1202.           Preferences menu category "Operation":
  1203.                "Operation" buttons:
  1204.                     Select the operation to perform.  Available choices
  1205.                     are:  Morph, Warp and Fade.
  1206.  
  1207.                "Fast Morph" button:
  1208.                     Enables or disables a "draft mode" for morphing.  It's
  1209.                     a faster, but lower quality morph.
  1210.  
  1211.           Preferences menu category "Output Configuration":
  1212.                "Fade 50%" text box:
  1213.                     This option will select at what percent of the morph
  1214.                     the fade will reach 50%.  For example, if this option
  1215.                     is set to 10, then at 10% of the morph, the fade will
  1216.                     reach 50%, hence, most of the fading is done early on
  1217.                     in the morph.  Note that this option sets the center of
  1218.                     the fade between the start and end of the selected fade
  1219.                     range (described below).
  1220.  
  1221.                "Fade start %" text box:
  1222.                     This option will select at what percent of the morph
  1223.                     the fade will start.  For example, if this option is
  1224.                     set to 10, then at 10% of the morph, the fade will
  1225.                     begin.
  1226.  
  1227.                "Fade end %" text box:
  1228.                     This option will select at what percent of the morph
  1229.                     the fade will end.  For example, if this option is set
  1230.                     to 90, then at 90% of the morph, the fade will reach
  1231.                     the end.
  1232.  
  1233.                "Warp 50%" text box:
  1234.                     This option will select at what percent of the morph
  1235.                     the warp will reach 50%.  For example, if this option
  1236.                     is set to 10, then at 10% of the morph, the warp will
  1237.                     reach 50%, hence, most of the warping is done early on
  1238.                     in the morph.  Note that this option sets the center of
  1239.  
  1240.  
  1241.  
  1242.                                        Page 20
  1243.  
  1244.  
  1245.  
  1246.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1247.  
  1248.  
  1249.                     the warp between the start and end of the selected warp
  1250.                     range (described below).
  1251.  
  1252.                "Warp start %" text box:
  1253.                     This option will select at what percent of the morph
  1254.                     the warp will start.  For example, if this option is
  1255.                     set to 10, then at 10% of the morph, the warp will
  1256.                     begin.
  1257.  
  1258.                "Warp end %" text box:
  1259.                     This option will select at what percent of the morph
  1260.                     the warp will end.  For example, if this option is set
  1261.                     to 90, then at 90% of the morph, the warp will reach
  1262.                     the end.
  1263.  
  1264.           Preferences menu category "Frame Control":
  1265.                "Total Frames" text box:
  1266.                     This text box simply selects the total number of frames
  1267.                     to create for this morph.  The starting frame and
  1268.                     ending frame are always saved separately.
  1269.  
  1270.                "Start Frame" text box:
  1271.                     This text box simply selects the first frame within the
  1272.                     number of total frames.  If the total frames is set to
  1273.                     30, and the start frame is set to 20 with the end frame
  1274.                     set to 25, then 6 frames (20-25 inclusive) will be
  1275.                     generated.
  1276.  
  1277.                "End Frame" text box:
  1278.                     This text box simply selects the last frame within the
  1279.                     number of total frames.  If the total frames is set to
  1280.                     30, and the start frame is set to 20 with the end frame
  1281.                     set to 25, then 6 frames (20-25 inclusive) will be
  1282.                     generated.
  1283.  
  1284.                "Frame Offset" text box:
  1285.                     This text box simply allows you to select an offset
  1286.                     number to start naming the output filenames.  There is
  1287.                     no correlation between the start, end or total frames
  1288.                     numbers.  This simply changes what the filenames will
  1289.                     be.  This is useful for generating a multi-part
  1290.                     animation.
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.                                        Page 21
  1306.  
  1307.  
  1308.  
  1309.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1310.  
  1311.  
  1312.                                    THE OTHER MENUS
  1313.  
  1314.           I won't bother going through the different buttons in the rest of
  1315.           the menus since they are very  self explanatory, I don't want  to
  1316.           insult  your   intelligence,   and,   basically,   nobody   reads
  1317.           documentation anyway (including myself!)
  1318.  
  1319.           So here's a brief description of each menu:
  1320.  
  1321.                                    THE EDIT MENU:
  1322.           The edit menu  allows you to  swap, copy and  flip the  different
  1323.           meshes and images.
  1324.  
  1325.                                    THE FILE MENU:
  1326.           The file menu allows you to:
  1327.                1.   Load/Save/Import (load v1.20) meshes
  1328.                2.   Load/Save images
  1329.                3.   Set the  base filename.   There  is a  maximum of  five
  1330.                     chars (the last three of the first 8 are used for frame
  1331.                     numbering),  but  you  may  point  to  a  path,   like:
  1332.                     "C:\ANIMS\MORPH" will  place  output  images  into  the
  1333.                     directory ANIMS on drive C:,  and they will start  with
  1334.                     "MORPH",   creating    images    named    MORPH001.TGA,
  1335.                     MORPH002.TGA, etc.
  1336.                4.   Select the  name  of,  and  enable  arithmetic  images.
  1337.                     Arithmetic images  are added  to, subtracted  from,  or
  1338.                     averaged with each  output image  as it  is written  to
  1339.                     disk.  You  may also select  to overlay the  arithmetic
  1340.                     image with a color range.  This color range will select
  1341.                     the range of  color values that,  if the  color in  the
  1342.                     arithmetic image falls  inside that range,  then it  is
  1343.                     directly overlaid on top of the output image.  This  is
  1344.                     useful when you want to add credits to your morph.  The
  1345.                     Background image  is calculated  BEFORE the  arithmetic
  1346.                     image is.
  1347.                5.   Select the  name  of,  and  enable  background  images.
  1348.                     Background images work similar  to the overlay  images,
  1349.                     except that the  color range is  compared with each  of
  1350.                     the output frames,  rather than  the background  image.
  1351.                     If a pixel  in the output  image is  inside the  range,
  1352.                     then it is replaced by  the corresponding pixel in  the
  1353.                     background image.  The background is calculated  BEFORE
  1354.                     the arithmetic image is.
  1355.  
  1356.                                   THE FILTERS MENU:
  1357.           This menu allows you to select a filter file (described later  in
  1358.           this documentation),  and the  appropriate filters  contained  in
  1359.           that file for use on each of the source and target images.
  1360.  
  1361.                                   THE PREVIEW MENU:
  1362.           A preview is  very convenient for  deciding where  to place  mesh
  1363.           points, and  where flaws  may be.   To  preview an  image from  a
  1364.           morph, simply select which image in  the morph you want to  view,
  1365.           (in the form of a % value, 50% for the center image), and  select
  1366.  
  1367.  
  1368.                                        Page 22
  1369.  
  1370.  
  1371.  
  1372.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1373.  
  1374.  
  1375.           the button "Show  Preview".  The  preview will be  viewed in  the
  1376.           current video mode.  When the preview is done, a beep will  sound
  1377.           (assuming you haven't disabled it),  and pressing a mouse  button
  1378.           or any key will return you to CMorph's main menu.
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.                                        Page 23
  1432.  
  1433.  
  1434.  
  1435.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1436.  
  1437.  
  1438.                                    CREATING A MESH
  1439.  
  1440.           Morphing relies on high quality meshes for high quality morphs.
  1441.           So, before you create a mesh, start by examining where you want
  1442.           to place your most important mesh points.
  1443.  
  1444.           Once you have decided where you want your primary mesh points,
  1445.           you can start adding mesh points.  Once all of your primary mesh
  1446.           points have been added, you can add support points to help clean
  1447.           up the morph even more.
  1448.  
  1449.           To add a mesh line, move the mouse to the border of the image
  1450.           that you want to add a mesh line to, and click the right button.
  1451.           To add a horizontal mesh line, click in the left or right side
  1452.           border.  To add a vertical mesh line, click in the top or bottom
  1453.           border.
  1454.  
  1455.           The mesh lines that get added will be placed between the two
  1456.           lines that you were located between when you clicked on the
  1457.           mouse.  Most of the time, straight-through mesh lines cannot be
  1458.           added to the image, so the mesh line is bent at each intersection
  1459.           so that it may maneuver through the maze of mesh points.
  1460.  
  1461.           You may notice that there were actually two mesh lines added, one
  1462.           for each image.  This is because CMorph requires that there be an
  1463.           equal number of mesh lines in each image.  This should be taken
  1464.           into consideration when adding mesh lines.
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.                                        Page 24
  1495.  
  1496.  
  1497.  
  1498.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1499.  
  1500.  
  1501.                                 FILTER FILE (.FLT) FORMAT
  1502.  
  1503.           The filters are contained in the filter file.
  1504.  
  1505.           The filter description format for a 3x3 filter is as follows:
  1506.                     FILTER NAME <filtername> <size>
  1507.                     <upper-left>  <upper-center>  <upper-right>
  1508.                     <center-left> <center-center> <center-right>
  1509.                     <lower-left>  <lower-center>  <lower-right>
  1510.                     <operator> <operand> <bias>
  1511.  
  1512.                     Any text following semicolons are comments
  1513.  
  1514.           Where <filtername> is  the name  of the  filter.   This is  where
  1515.           CMorph looks for the filter name  (in the filters menu).   <size>
  1516.           is the size of the filter (3,  5 or 7 only, others are  ignored).
  1517.           For 5x5 and 7x7 filters, the  above example is incomplete,  since
  1518.           from <upper-left> to <lower-right> would be a 5x5 or 7x7 "grid".
  1519.  
  1520.           Convolutions are quite simple.  For  each pixel in an image,  the
  1521.           filter grid is overlaid onto that  pixel and it's neighbors  with
  1522.           the <center-center> element of the  filter grid aligned onto  the
  1523.           current pixel in the image, and the outer elements in the  filter
  1524.           grid overlaying the current pixel's neighbors.  The next step  is
  1525.           to  multiply  each   element  in  the   filter  grid  with   it's
  1526.           corresponding overlaid pixel value.   Once all these values  have
  1527.           been calculated, add them together and perform the operation (/ 8
  1528.           for an <operator> of '/' and  an <operand> of '8'.)  Lastly,  add
  1529.           the <bias> value.  If the  addition of <bias> (or subtraction  of
  1530.           <bias> if it is negative) takes the result above 255 or below  0,
  1531.           then the value is clipped to 0 or 255, respectively.
  1532.  
  1533.           A good trick  for trying your  own is to  take a current  filter,
  1534.           copy it, change the new copy's name, and modify it.  If you  have
  1535.           problems getting usable resulting images,  try adding all of  the
  1536.           values in the filter's grid and  placing that value in  <operand>
  1537.           with an <operator> of '/'
  1538.  
  1539.           NOTES:
  1540.                The valid range for <bias> is 0-255.
  1541.  
  1542.                Valid <operator> values are:
  1543.                     +.......Add <operand>
  1544.                     -.......Subtract <operand>
  1545.                     *.......Multiply by <operand>   
  1546.                     /.......Divide by <operand>
  1547.                     M.......Sort all multiplied grid elements, and use  the
  1548.                             median. Ignore <operand> -- Operand MUST still
  1549.                             be present
  1550.                     <.......Sort all multiplied grid elements, and use  the
  1551.                             lowest. Ignore <operand> -- Operand MUST still
  1552.                             be present
  1553.  
  1554.  
  1555.  
  1556.  
  1557.                                        Page 25
  1558.  
  1559.  
  1560.  
  1561.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1562.  
  1563.  
  1564.                     >.......Sort all multiplied grid elements, and use  the
  1565.                             highest.  Ignore  <operand>  --  Operand  MUST
  1566.                             still be present
  1567.  
  1568.                CMorph will  search for  the filter  file in  the  following
  1569.                order:
  1570.                     1. The current directory
  1571.                     2. The default  CMorph directory  (where CMORPH.EXE  is
  1572.                     stored)
  1573.  
  1574.                CAUTION:  The  median ('M'),  dilate ('>')  and erode  ('<')
  1575.                functions take a LONG  TIME in 5x5 or  7x7 filters.  Try  to
  1576.                stick with using 3x3 filters for these operators.
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.                                        Page 26
  1621.  
  1622.  
  1623.  
  1624.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1625.  
  1626.  
  1627.                                    IPI FILE FORMAT
  1628.  
  1629.                The IPI (pronounced "ipee") file format is used to store 24-
  1630.                bit images. This format was designed  to be the simplest  to
  1631.                decode for programmers so that they may add functionality to
  1632.                CMorph  via  external  programs.    This  file  format   was
  1633.                originally designed for use  in CImage (The Complete  Image,
  1634.                another of my products).  If you don't own a copy of  CImage
  1635.                (I won't try to sell you one, I promise), then you will most
  1636.                likely have no use for this file format.
  1637.  
  1638.                The IPI format is as follows:
  1639.                   X resolution (WORD - MSB first)
  1640.                   Y resolution (WORD - MSB first)
  1641.                   Image data:
  1642.                      FOR EACH PIXEL IN THE SCREEN (XRES * YRES)
  1643.                      {
  1644.                         Red Element   (BYTE)
  1645.                         Green Element (BYTE)
  1646.                         Blue Element  (BYTE)
  1647.                      }
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.                                        Page 27
  1684.  
  1685.  
  1686.  
  1687.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1688.  
  1689.  
  1690.                                  FUTURE ENHANCEMENTS
  1691.  
  1692.           o    Add import/export to meshes from dmorph
  1693.  
  1694.           o    Add PCX
  1695.  
  1696.           o    Add new Nettleman spline
  1697.  
  1698.           o    Add output of .FLI/.FLC/.FLX file format
  1699.  
  1700.           o    Add TIFF
  1701.  
  1702.           o    Add sine wave addition to splines
  1703.  
  1704.           o    Add vertical resolution to preferences screen
  1705.  
  1706.           o    Delete mesh lines
  1707.  
  1708.           o    Different sizes for each input file and different size for
  1709.                output files
  1710.  
  1711.           o    Gamma for both images
  1712.  
  1713.           o    ListBox for mesh files and image files
  1714.  
  1715.           o    Morphs of animations
  1716.  
  1717.           o    Move entire mesh lines
  1718.  
  1719.           o    Targa - Compressed versions (and other versions not
  1720.                currently supported)/32-bit
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.                                        Page 28
  1747.  
  1748.  
  1749.  
  1750.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1751.  
  1752.  
  1753.                              CONTACTING CUSTOMER SUPPORT
  1754.  
  1755.           I'm available in the evenings, I have the standard 9-5 job
  1756.           (eastern time).  If you need to reach me during the day, you can
  1757.           do so by calling and leaving a message.  I call in to my voice
  1758.           mail about three times per day, however, on hectic days, it's not
  1759.           so easy, and I may not get any messages at all until the evening.
  1760.  
  1761.           Tech Support is available for all registered users for one full
  1762.           year following the purchase.  For non-registered users (and
  1763.           registered users over one year), tech support is not officially
  1764.           available.  But if I'm not swamped, I'll try to get back to you.
  1765.           Registered users over one year have priority over non-registered
  1766.           users.  So, please state your status.  It can be verified on
  1767.           computer.
  1768.  
  1769.           To contact me, just call (313) 941-9223.
  1770.  
  1771.           You may also mail your support questions to:
  1772.  
  1773.                Paul D. Nettle
  1774.                9668 Washington St.
  1775.                Romulus, MI  48174
  1776.  
  1777.           In addition, you can contact me through Fidonet netmail addressed
  1778.           to Raytech BBS as follows:
  1779.  
  1780.                TO:  Paul Nettle  2:259/49
  1781.  
  1782.           Raytech BBS maintains a registered user's conference for CMorph
  1783.           and I collect my mail regularly.
  1784.  
  1785.           My phone number and address are for support, comments,
  1786.           suggestions, questions, registration information, and of course,
  1787.           orders.
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.                                        Page 29
  1810.  
  1811.  
  1812.  
  1813.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1814.  
  1815.  
  1816.                                 ORDERING INFORMATION
  1817.  
  1818.  
  1819.           What you will get when you register through the author:
  1820.  
  1821.           o    The registered version of CMorph on disk (your choice of
  1822.                disk format -- 1.2M or 1.44M).
  1823.  
  1824.           o    A printed manual.
  1825.  
  1826.           o    The next update of CMorph -- free of charge (Including
  1827.                printed documentation).
  1828.  
  1829.           o    Peace of mind.
  1830.  
  1831.  
  1832.           What you will get when you register through RayTech BBS:
  1833.  
  1834.           o    The registered version of CMorph via modem or mail.
  1835.  
  1836.           o    Free access to later registered versions of Cmorph via a
  1837.                Private files area on Raytech BBS reserved for Cmorph
  1838.                registered users.
  1839.  
  1840.           o    Reduced Subscription Rates to Raytech BBS if ordered at the
  1841.                same time as Cmorph registration.
  1842.  
  1843.           o    Peace of mind.
  1844.  
  1845.  
  1846.           Non-registered vs registered users:
  1847.  
  1848.           o    Registered versions don't display the registration notice
  1849.                upon startup of CMorph.
  1850.  
  1851.           o    Registered versions are marked with an "r" after the version
  1852.                number in the title rather than a "u".
  1853.  
  1854.           o    Registered users are allowed free technical support priority
  1855.                via phone, by mail, or e-mail.  Non-registered users are
  1856.                given no official technical support.  (see Contacting
  1857.                Customer Support).
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.  
  1869.  
  1870.  
  1871.  
  1872.                                        Page 30
  1873.  
  1874.  
  1875.  
  1876.                 The Complete Morph -- Copyright 1993, Paul D. Nettle
  1877.  
  1878.  
  1879.                                    HOW TO REGISTER
  1880.  
  1881.           How to register with the author:
  1882.                To order a copy of The Complete Morph, just print out the
  1883.                REGISTR.FRM, fill it in, and send it with you check or money
  1884.                order for $35.00.
  1885.  
  1886.           How to register on-line with CompuServe:
  1887.                To register a copy of The Complete Morph on-line, just log
  1888.                onto CompuServe and "GO SWREG".  Once in the forum, you'll
  1889.                have a short menu.  Select the option labeled "Register
  1890.                Software".  The Registration ID is #1629.  The fee is $38.00
  1891.                (inculdes S&H).
  1892.  
  1893.           Registration via RayTech BBS (in the UK only):
  1894.  
  1895.                Who is Raytech?
  1896.                Who is Raytech?
  1897.                Who is Raytech?
  1898.                Raytech BBS is a great graphics specialist BBS in the United
  1899.                Kingdom run by Paul Smith. You'll find all sorts of the
  1900.                latest Graphics programs there, especially raytracing
  1901.                programs and support.
  1902.  
  1903.                Registration fee:  25 UK pounds.
  1904.  
  1905.                Ways to pay ... Cash by Post
  1906.                                Cheque payable to Raytech BBS
  1907.                                Access, Visa, MasterCard, or Eurocard, by
  1908.                                phone or on-line.
  1909.  
  1910.                Send payments to:
  1911.                     Raytech BBS
  1912.                     Rubicon Clashmore near Dornoch
  1913.                     Sutherland Scotland IV25 3RG
  1914.  
  1915.                Send your payment with:
  1916.                     Your Name, Address and home telephone number
  1917.  
  1918.                          UK numbers     Intrn'l numbers       Hours
  1919.                         -----------    ---------------      -----
  1920.           Voice number:  0862 88388     +44 862 88388       24 hours
  1921.           Fax number:    0862 88377     +44 862 88377       8am to 6pm
  1922.           BBS line 1:    0862 88340     +44 862 88340       24 hours
  1923.  
  1924.                Network Addresses:
  1925.                     FIDOnet:  2:259/49
  1926.                     PCGnet:   9:526/464  UK host
  1927.  
  1928.                Modem Setup:
  1929.                     Communications:     8N1 V32bis V42bis MNP 1 - 5
  1930.                     Speeds:             2400/4800/7200/9600/12000/14.4
  1931.                     Terminal:           ANSI BBS
  1932.                     Operation:          24 hours
  1933.  
  1934.  
  1935.  
  1936.  
  1937.                                        Page 31
  1938.  
  1939.