home *** CD-ROM | disk | FTP | other *** search
/ 5 Star Games: Animations / 5_STAR_GAMES.ISO / morphing / compmorp / cmorph.doc next >
Text File  |  1993-11-15  |  57KB  |  1,878 lines

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