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