home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-11-25 | 66.5 KB | 1,937 lines |
-
-
-
-
-
-
- The Complete Morph v2.00
-
- User's Guide
-
- Copyright 1993, Paul D. Nettle
-
-
- _______
- ____|__ | (R)
- --| | |-------------------
- | ____|__ | Association of
- | | |_| Shareware
- |__| o | Professionals
- -----| | |---------------------
- |___|___| MEMBER
-
-
- Document dated: November 25, 1993
-
- Paul D. Nettle
- 9668 Washington St.
- Romulus, MI 48174
- (313) 941-9223
-
- Author's name: Paul D. Nettle
- Author's Compuserve ID: 72163,2442
-
- This document also Copyright 1993, Paul D. Nettle
-
- A limited license is granted to reprint short extracts from this
- document as long as credit is given to the above mentioned party.
- Individuals, BBSs and User Groups may distribute copies of this
- software, it's documentation and associated files (originally
- distributed in an archive) freely as long as the files remain in-
- tact, unmodified, are not re-named and are not made part of some
- larger work without the written permission of Paul D. Nettle. A
- BBS may rearchive the unmodified archived file's contents as long
- as the resulting archive is named CMORPH20.ZIP, CMORPH20.ARC,
- CMORPH20.LZH or CMORPH20.???
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- TABLE OF CONTENTS
-
- Introduction.............................................4
- What is Morphing?...................................4
- How does it work?...................................4
- CMorph is a full-featured morphing program. Take a look:5
- System Requirements.................................6
- Ombudsman Statement......................................7
- Definition of Shareware..................................7
- Disclaimer - Agreement...................................8
- Getting Started..........................................9
- Running CMorph from the command line.....................10
- Configuring CMorph's Memory..............................11
- Virtual Memory......................................11
- Protected Mode Switching.................................13
- Fine Control of Memory Usage........................14
- Specifying a Range of Extended Memory...............14
- A Note On the GUI........................................16
- A Few Notes On the Mouse.................................17
- The Go Menu..............................................18
- Go menu category SYSTEM.............................18
- LEAVE button...................................18
- DOS SHELL button...............................18
- GO button......................................18
- Go menu category OTHER..............................18
- HELP button....................................18
- ABOUT button...................................18
- Preferences Menu.........................................19
- Preferences menu catagory: SPLINE SETTINGS.........19
- Submenu catagory: MESH........................19
- CATMULL, BICUBIC and STRAIGHT buttons.....19
- TIGHTNESS text box........................19
- Submenu catagory: INTERPOLATION...............19
- CATMULL, BICUBIC and STRAIGHT buttons.....19
- TIGHTNESS text box........................19
- Preferences menu catagory: SCREEN SETTINGS.........19
- DISPLAY CURVES button..........................19
- ZOOM button....................................19
- KWIK-SCREEN button.............................19
- SOUNDS button..................................19
- CURSOR COLOR buttons...........................20
- MESH COLOR buttons.............................20
- Preferences menu catagory: OUTPUT IMAGE FORMAT.....20
- IMAGE FORMAT buttons...........................20
- TGAs BOTTOM-UP button..........................20
- Preferences menu catagory: OPERATION...............20
- OPERATION buttons..............................20
- FAST MORPH button..............................20
- Preferences menu catagory: OUTPUT CONFIGURATION....20
- FADE 50% text box..............................20
- FADE START % text box..........................20
- FADE END % text box............................20
- WARP 50% text box..............................20
- WARP START % text box..........................21
-
-
- Page 2
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- WARP END % text box............................21
- Preferences menu catagory: FRAME CONTROL...........21
- TOTAL FRAMES text box..........................21
- START FRAME text box...........................21
- END FRAME text box.............................21
- FRAME OFFSET text box..........................21
- The Other Menus..........................................22
- The Edit Menu.......................................22
- The File Menu.......................................22
- The Filters Menu....................................22
- The Preview Menu....................................22
- Creating a Mesh..........................................24
- Filter file (.FLT) format................................25
- IPI File Format..........................................27
- Future Enhancements......................................28
- Contacting Customer Support..............................29
- Ordering Information.....................................30
- What you will get when you register.................30
- What you get when you register via Raytech BBS......30
- Non-registered vs registered users..................30
- How to Register..........................................31
- How to register with the author.....................31
- How to register on-line with the CompuServe.........31
- Registration via RayTech BBS (in the UK only).......31
- Who is Raytech?................................31
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 3
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- INTRODUCTION
-
- Thank you for choosing "The Complete Morph." I hope that this
- product will be as useful for you as it was fun for me to write.
- I'll try to keep this document from being dry, so forgive me if
- the jokes get bad.
-
- From now on, lets just call "The Complete Morph" CMorph
- (pronounced "See-Morph".)
-
- What is morphing?
-
- Morphing is the process of slowly fading from one image to
- another, while warping the contents of both images so that
- they "metamorphasize."
-
- How does it work?
-
- Morphing is, in theory, actually very simple. Understanding
- how morphing works internally will aid you in creating high-
- quality morph animations.
-
- For a good quality morph, start by taking your time and
- finding a pair of similar images that have the same
- resolution. As an example, try to find two 320x200 images
- that both contain a full-screen face that is facing the same
- way, has the same orientation, and who's major points (eyes,
- etc.) line up pretty close to each other if they were to be
- overlaid.
-
- Now that you have two images, a mesh must be placed over
- each one. This is the "manual-labor" part of morphing.
- Take your time, this mesh defines the quality of the morph.
-
- A mesh is made up of horizontal and vertical lines overlaid
- onto both images. Each vertex of the mesh can be re-
- located. The points are usually connected by a curved line
- to smooth the bends. But be careful not to let any two
- horizontal or any two vertical mesh lines cross.
-
- Once all of the mesh lines are complete, the points in the
- mesh should line up with their counterpart on the other
- image (for example, the point on the source image that is
- centered in the left eye should have a counterpart on the
- destination image that is also on the left eye in that
- image), the morphing is ready to begin. A hint for a real
- clean morph is to align points in the image that not only
- select the features of the image, but also outline it's
- features with the lines that connect the points together.
-
- Morphing is a three-step process. The first two steps are
- the warping steps. The warping is done in two stages.
- First, all of the horizontal mesh lines are used to break up
- the image into "bands". Since there are the same number of
-
-
- Page 4
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- bands in each image, the destination band is warped to the
- same shape as it's counterpart in the source image, and so
- on through all the bands. Next, the destination image is
- broken up into vertical bands using the vertical mesh lines,
- and the process is repeated for the vertical direction.
-
- The last step in this process is to cross-fade the images
- into one.
-
- CMorph is a full-featured morphing program. Take a look:
-
- o Reads and writes GIF, IMG, TGA, BMP and IPI image files.
-
- o CMorph has a very beautiful and easy-to-use user-
- interface that utilizes all 256 colors of the SVGA
- palette, and on most video cards can handle resolutions
- up to 800x600 (1024x768 mode is only available on some
- video cards).
-
- o A DOS-shell helps you with those unexpected needs to
- visit the DOS prompt.
-
- o You control the output. Create a morph, a warp, or a
- simple fade. Each of these options utilizes parameters
- that let you control where in your animation most of the
- warping and the fading take place for super fine-tuning.
-
- o An interface for external programs to perform tasks that
- CMorph doesn't already perform via the IPI file format -
- - explained later in this document. This file format is
- also used in CImage, another of my products.
-
- o CMorph has advanced spline meshes giving you the option
- of three different spline types: Catmull (used in most
- morphing software today), Bi-cubic splines, and straight
- lines. Different effects can be obtained by changing
- which spline type is used for the image warping and
- which spline type is used for the interpolation. The
- Bi-cubic splines make use of a tightness parameter that
- allows you to have spline meshes that are almost
- straight to "very curvy".
-
- o CMorph also has advanced mesh editing features such as
- mirrored cursors, and cross cursors for aligning mesh
- points between the two images. A Zoom window tracks
- your cursor helping you get pixel-perfect output.
-
- o CMorph uses ALL available memory by running in 32-bit
- protected mode. If you need more memory, you can turn
- on the Virtual Memory.
-
- o CMorph is complimented by it's complete suite of image
- processing filters. There are 100 pre-defined, user
- definable filters.
-
-
- Page 5
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
-
- o Color selectable overlays and color selectable
- backgrounds allow you to put your morph into any scene
- and add your name to the animation with ease.
-
- System Requirements:
-
- CMorph requires at least a 386, and a video card that can
- handle 256 colors in 640x400 mode, 640x480 mode, 800x600
- mode, or 1024x768 mode is best. A math co-processor is
- optional, but highly recommended. 4MB of memory is also
- required (although 8MB is better, and any more is just
- great).
-
- I hope you enjoy using The Complete Morph!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 6
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- OMBUDSMAN STATEMENT
-
- This program is produced by a member of the Association of
- Shareware Professionals (ASP). ASP wants to make sure that the
- Shareware principle works for you. If you are unable to resolve a
- Shareware-related problem with an ASP member by contacting the
- member directly, ASP may be able to help. The ASP Ombudsman can
- help you resolve a dispute or problem with an ASP member, but
- does not provide technical support for members' products. Please
- write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI
- 49442-9427 USA, FAX 616-788-2765 or send a CompuServe message via
- CompuServe Mail to ASP Ombudsman 70007,3536.
-
- DEFINITION OF SHAREWARE
-
- Shareware distribution gives users a chance to try software
- before buying it. If you try a Shareware program and continue
- using it, you are expected to register. Individual programs
- differ on details -- some request registration while others
- require it, some specify a maximum trial period. With
- registration, you get anything from the simple right to continue
- using the software to an updated program with printed manual.
-
- Copyright laws apply to both Shareware and commercial software,
- and the copyright holder retains all rights, with a few specific
- exceptions as stated below. Shareware authors are accomplished
- programmers, just like commercial authors, and the programs are
- of comparable quality. (In both cases, there are good programs
- and bad ones!) The main difference is in the method of
- distribution. The author specifically grants the right to copy
- and distribute the software, either to all and sundry or to a
- specific group. For example, some authors require written
- permission before a commercial disk vendor may copy their
- Shareware.
-
- Shareware is a distribution method, not a type of software. You
- should find software that suits your needs and pocketbook,
- whether it's commercial or Shareware. The Shareware system makes
- fitting your needs easier, because you can try before you buy.
- And because the overhead is low, prices are low also. Shareware
- has the ultimate money-back guarantee -- if you don't use the
- product, you don't pay for it.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 7
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- DISCLAIMER - AGREEMENT
-
- Users of The Complete Morph must accept this disclaimer of
- warranty: "The Complete Morph is supplied as is. The author
- disclaims all warranties, expressed or implied, including,
- without limitation, the warranties of merchantability and of
- fitness for any purpose. The author assumes no liability for
- damages, direct or consequential, which may result from the use
- of The Complete Morph."
-
- The Complete Morph is a "Shareware program" and is provided at no
- charge to the user for evaluation. Feel free to share it with
- your friends, but please do not give it away altered or as part
- of another system. The essence of "user-supported" software is
- to provide personal computer users with quality software without
- high prices, and yet to provide incentive for programmers to
- continue to develop new products. If you find this program
- useful and find that you are using The Complete Morph and
- continue to use The Complete Morph after a reasonable trial
- period, you must make a registration payment of 35.00 to Paul D.
- Nettle. The 35.00 registration fee will license one copy for use
- on any one computer at any one time. You must treat this
- software just like a book. An example is that this software may
- be used by any number of people and may be freely moved from one
- computer location to another, so long as there is no possibility
- of it being used at one location while it's being used at
- another. Just as a book cannot be read by two different persons
- at the same time.
-
- Commercial users of The Complete Morph must register and pay for
- their copies of The Complete Morph within 30 days of first use or
- their license is withdrawn. Site-License arrangements may be
- made by contacting Paul D. Nettle.
-
- Anyone distributing The Complete Morph for any kind of
- remuneration must first contact Paul D. Nettle at the address
- above for authorization. This authorization will be
- automatically granted to distributors recognized by the (ASP) as
- adhering to its guidelines for Shareware distributors, and such
- distributors may begin offering The Complete Morph immediately
- (However Paul D. Nettle must still be advised so that the
- distributor can be kept up-to-date with the latest version of The
- Complete Morph.).
-
- You are encouraged to pass a copy of The Complete Morph along to
- your friends for evaluation. Please encourage them to register
- their copy if they find that they can use it. All registered
- users will receive a copy of the latest version of The Complete
- Morph system.
-
-
-
-
-
-
-
- Page 8
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- GETTING STARTED
-
-
- CMorph is ready to run. All you have to do is install it.
-
- Installation is simple. Since you've probably downloaded the
- CMorph archive and un-archived it (which you needed to do to be
- reading this document) you're already set to go.
-
- To run CMorph, you need to have both, CMORPH.EXE and DOS4GW.EXE
- in your path or in the current directory when you run it. To run
- it, just type CMORPH followed by two image file names. For
- example:
-
- C:\> CMORPH IMAGE1.TGA IMAGE2.TGA
-
- There are other command-line options, check the section titled
- "COMMAND LINE OPTIONS" for a complete description of them.
-
- If you're like me, you may already have a very large path, and
- wish not to make it larger. Where there is a will, there is a
- way! Simply create a batch file that runs CMorph in the
- following way:
-
- C:\CMORPH\DOS4GW C:\CMORPH\CMORPH %1 %2 %3 %4 %5 %6 %7 %8 %9
-
- This batch file runs DOS/4GW from the CMORPH directory, and tells
- it to run CMorph from the same directory. If you just run
- CMorph, then it will not find the DOS Extender (which is what it
- tries to do if you just run CMorph). So, you need to run the DOS
- Extender manually.
-
- Just place that batch file someplace in your path, and you're all
- set to go!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 9
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- RUNNING CMORPH FROM THE COMMAND LINE
-
- Usage:
- E:\CMORPH\CMORPH.EXE [options] <source> <target>
-
- <source> and <target> are required parameters, <source> being the
- file name for the source image ("morphed from") and <target>
- being the file name for the target image ("morphed to"). These
- files must be in IPI, TGA, BMP, IMG or GIF format, and they must
- have the same resolution. The resolution of the output images is
- derived from the resolution of the input images.
-
- All options may be expressed using the slash (/) or the minus (-)
- characters.
-
- [Options] are:
- [-? | -H] List this help information
-
- [-B[X]] Batch mode (auto morph on startup) [with auto
- eXit]
-
- [-C] Force graphics mode to 16 colors
- Default: 256 colors
-
- [-Gxxx] Force vertical resolution to xxx scanlines
- Valid values: 400/480/600/768
- Default: auto-detect
-
- [-Mfilename] Specify mesh filename
-
- source Source image (IPI/TGA/BMP/IMG/GIF)
-
- target Target image (IPI/TGA/BMP/IMG/GIF)
-
-
- NOTE: [options] may be specified before, after or between the
- image names and may be specified by either the '-' or
- the '/' chars.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 10
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- CONFIGURING CMORPH'S MEMORY
-
- CMorph uses the DOS/4GW DOS Extender from Rational Systems.
- This DOS Extender places CMorph into "386 Flat Model"
- protected mode where the 80386 executes instructions faster,
- and has access to LOTS of larger chunks of memory. With
- access to all of this memory, CMorph can run faster, and
- perform more complicated tasks than it would if it were
- written for a 286 or less processor.
-
- Lets assume you have 8 MEG. CMorph loads above the first
- MEG (this is where most systems keep their faster memory).
- As memory is needed, CMorph gets it from the memory above
- that first MEG. If that runs out, then CMorph starts
- looking for memory in the DOS 640K area. DOS's memory is
- used last because it is usually slower, and also because
- CMorph can run DOS programs if you shell out to DOS, so you
- will want to save as much DOS memory as possible. Virtual
- Memory (VMM) is also available (see VIRTUAL MEMORY).
-
- Note that programs that use Extended or Expanded memory
- (like Disk Cache programs) will take memory away from
- CMorph. You may want to limit the memory that they use to
- allow a comfortable amount for both.
-
-
- VIRTUAL MEMORY
-
- CMorph was written with the Watcom C/C++32 9.5 and uses the
- DOS/4GW DOS Extender from Rational Systems. This royalty-
- free DOS Extender (DOS4GW.EXE) offers a Virtual Memory
- Manager (VMM). When CMorph runs out of memory, it can be
- configured so that it automatically starts swapping to disk.
- In this way, you can actually use more RAM than your
- computer has!
-
- This configuration MUST take place before CMorph is run. If
- CMorph runs out of memory while running, you must save what
- your are doing, exit CMorph and configure for VMM before re-
- starting CMorph.
-
- To enable VMM, you only need to set a single environment
- variable. Might I suggest that you create a CMORPH.BAT
- batch file that sets this variable before running CMorph,
- then clears it afterwards just in case you're not one for
- having all these environment variable hanging around when
- they aren't (like me) necessary.
-
- I have found a drawback to using the VMM. It tends to slows
- CMorph down, even when not swapping to disk.
-
- To enable VMM with default values, just "SET DOS4GVM=1" from
- within DOS before entering CMorph. It's that simple. But,
-
-
-
- Page 11
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- like all other things, there is a way to complicate it by
- configuring it (it's not that bad, actually).
-
- Usage:
- SET DOS4GVM=[option[#value]] [option[#value]]...
-
- (the '#' is used with options that take values since the DOS
- command shell will not accept "=")
-
- Setting the DOS4GVM=1 will use default values for all
- options. Here are some control options:
-
- MINMEM The minimum amount of RAM managed by VMM.
- The default is 512K
- MAXMEM The Maximum amount of RAM managed by VMM.
- The default is 4MB.
- SWAPMIN The minimum or initial size of the swap file.
- If this option is not used, the size of the
- swap file is based on VIRTUALSIZE (see
- below).
- SWAPINC The size by which the swap file grows.
- SWAPNAME The swap file name. The default name is
- "DOS4GVM.SWP". By default the file is in the
- root directory of the current drive. Specify
- the complete path name if you want to keep
- the swap file on another drive.
- DELETESWAP Whether the swap file is deleted when CMorph
- exits. By default the file is NOT deleted.
- Program startup is quicker if the file is NOT
- deleted.
- VIRTUALSIZE The size of the virtual memory space (swap
- file plus allocated memory). The default is
- 16MB.
-
- If you wish to have a temporary swap file, and only use no
- more than 4 MEG of RAM, then use the example below:
-
- SET DOS4GVM=DELETESWAP maxmem#8192
-
- NOTE: This DOS Extender is especially advantageous for
- programmers. I HIGHLY RECOMMEND the Watcom C/C++32 9.5
- compiler to developers. I own Borland C/C++ 3.1, Microsoft
- C/C++ 7.0, and Watcom C/C++32 9.5. My choice development
- tools are the Watcom Tools (although I hate to give up the
- Turbo Debugger). Take the time to learn them, they are
- wonderful!
-
-
-
-
-
-
-
-
-
-
- Page 12
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- PROTECTED MODE SWITCHING
-
- The following section is almost exactly as it appears in the
- manual for Watcom C/C++ 32-bit v9.5a.
-
- In almost all cases, CMorph can detect the type of machine
- that is running and automatically choose an appropriate
- real- to protected-mode switch technique. For the few cases
- in which this default setting does not work, I provide the
- DOS16M DOS environment variable, which overrides the default
- setting.
-
- Change the switch mode setting by issuing the following
- command:
-
- set DOS16M=value
-
- Do not insert a space between DOS16M and the equal sign. A
- space to the right of the equal sign is optional.
-
- The table below lists the machines and the settings you
- would use with them. Many settings have mnemonics, listed
- in the column "Alternate Name", that you can use instead of
- the number. Settings that you must set with the DOS16M
- variable have the notation "req'd" in the first column.
- Settings you may use are marked "option," and settings that
- will automatically be set are marked "auto."
-
- Alternate
- Status Machine Setting Name Comment
-
- auto 386/486 w/DPMI 0 None Automatic if DPMI is active
- req'd NEC 98-series 1 9801 Must be set for NEC 98-seri
- auto PS/2 2 None Set automatically for PS/2
- auto 386/486 3 386, 80386 Set automatically for 386/4
- auto 386 INBOARD None 386 with Intel Inboard
- req'd Fujitsu FMR-70 5 None Must be set for Fujitsu FMR
- auto 386/486 w/VCPI 11 None Set automatically for VCPI
- req'd Hitachi B32 14 None Must be set for Hitachi B32
- req'd OKI if800 15 None Must be set for OKI if800
- option IBM PS/55 16 None May be needed for some PS/5
-
- The following procedure shows you how to test the switch
- mode setting.
-
- 1. If you have one of the machines listed below, set the
- DOS16M environment variable to the value shown for that
- machine and specify a range of extended memory. For
- example, if your machine is a NEC 98-series, set
- DOS16M=1 @2M-4M. See the section, "Fine Control of
- Memory Usage" later in this chapter for more
- information about setting the memory range.
-
- Machine Setting
-
-
- Page 13
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- NEC-98-series 1
- Fujitsu FMR-60,-70 5
- Hitachi B32 14
- OKI if800 15
-
- Before running CMorph, check the switch mode setting by
- following this procedure:
-
- 2. Run PMINFO and note the switch setting reported on the
- last line of the display.
-
- If PMINFO runs, the setting is usable on your machine.
-
- 3. If you changed the switch setting, add the new setting
- to your CMORPH.BAT file, or your AUTOEXEC.BAT file.
-
- Note: PMINFO will run successfully on 286 machines. If
- CMORPH does not run, and PMINFO does, check the
- CPU type reported on the first line of the
- display.
-
- FINE CONTROL OF MEMORY USAGE:
-
- In addition to setting the switch mode as described above,
- the DOS16M environment variable enables you to specify which
- portion of extended memory CMorph will use. The variable
- also allows you to instruct CMorph to search for extra
- memory and use it if it is present.
-
- SPECIFYING A RANGE OF EXTENDED MEMORY
-
- Normally, you don't need to specify a range of memory with
- the DOS16M variable. You must use the variable, however, in
- the following cases:
-
- 1. You are running on a Fujitsu FMR-series, NEC 98-
- series, OKI if800-series, or Hitachi B-series
- machine.
-
- 2. You have older programs that use extended memory
- but don't follow one of the standard disciplines.
-
- 3. You want to shell out of CMorph to use another
- program that requires extended memory.
-
- If none of these conditions applies to you, you can skip
- this section.
-
- The general syntax is:
-
- set DOS16M=[switch_mode][@start_address[-end_address]]
- [:size]
-
-
-
-
- Page 14
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- In the syntax shown above, "start_address", "end_address"
- and "size" represent numbers, expressed in decimal or in
- hexadecimal (hex requires a 0x prefix). The number may end
- with a K to indicate an address or size in kilobytes, or an
- M to indicate megabytes. If no suffix is given, the address
- or size is assumed to be in kilobytes. If both a size and a
- range are specified, the more restrictive interpretation is
- used.
-
- The most flexible strategy is to specify only a size.
- However, if you are running with other software that does
- not follow a convention for indicating it's use of extended
- memory, and these other programs start before CMorph, you
- will need to calculate the range of memory used by other
- programs and specify a range for CMorph to use.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 15
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- A NOTE ON THE GUI
-
- A few things need mentioning regarding the GUI's new radio
- buttons. There are two uses for the new radio buttons.
-
- First, they are used to toggle on or off certain options, like
- the zoom window (located in the Preferences menu). Clicking on
- this radio button will toggle it up and down. If the button is
- in the up position, then the feature is off, or disabled, and if
- the button is in the down position, the feature is on, or
- enabled.
-
- The second use for ratio buttons is to choose between multiple
- settings for a single option. An example of this is the cursor
- color. Selecting a color will de-select the currently selected
- color and select the selected color (lots of "selects" in that
- one!)
-
- There are also keys that allow you to navigate through CMorph.
- Pressing F1 will bring up a help window that displays them. They
- are:
-
- F1/ALT-H Gets this help information on-line
- ALT-A Show About Box
- ALT-D DOS Shell
- ALT-E Enter Edit menu
- ALT-F Enter File menu
- ALT-G Enter Go menu
- ALT-I Enter Filters menu
- ALT-P Enter Preferences menu
- ALT-R Enter Preview menu
- ALT-S Start morphing
- ALT-V Start a preview
- ALT-X Exit to DOS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 16
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- A FEW NOTES ON THE MOUSE
-
- When the mouse is in the source or the target image windows, the
- mouse becomes a cross-hair cursor that spans both images. The
- cross-hair has two crosses. The first is the cross that shows
- where the cursor actually is, and the second is a less-
- significant cross in the opposite image. This cross points out
- where in the opposite image where the corresponding pixel is.
-
- Also, by placing the cursor within one of the two image windows,
- you'll see a filled circle. This circle follows the cursor
- around and is placed on the nearest mesh point. When the left
- mouse button is depressed (unhappy?...NAW!), the cursor position
- jumps to where that point is, so it may be relocated.
-
- When you have a menu up, you may back up to the main menu by
- pressing the right button or escape.
-
- Pressing the right button inside one of the two information
- windows (located directly below their respective image) will hide
- the meshes. And if you don't bother to read this in the docs,
- then you'll never know this. See, there actually is an advantage
- to reading the docs. (Not like I ever read them, either.)
-
- The last note that needs mentioning is that in certain
- circumstances, you'll be promoted by a message box for a "yes" or
- a "no" (like when you exit CMorph, for example). When one of
- these prompts are up, pressing the left button always means "yes"
- and the right button always means "no".
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 17
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- THE GO MENU
-
- You'll notice that there are four categories in this menu (in
- case you haven't done this yet, you'll need to take your mouse
- and click on the Operations button to get the menu to appear).
-
- Go menu category "System":
- "Leave" button:
- Exit to DOS.
-
- "DOS Shell" button:
- Shell to DOS. This will run a temporary copy of DOS.
- Once you are at in DOS, you may return to CMorph by
- typing "EXIT" on the DOS command line.
-
- "Go" button:
- Start the actual morphing, warping, or fading.
-
- Go menu category "Other":
- "Help" button:
- Displays a help window of available keys for navigating
- through the menus.
-
- "About" button:
- Displays an about box with version and copyright
- information.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 18
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- PREFERENCES MENU
-
- The Preferences menu allows you to change all of CMorph's
- preferences and options. You'll notice that there are six
- categories in this menu. They are:
-
- Preferences menu category "Spline Settings":
- Sub menu category "Mesh":
- "Catmull", "BiCubic" and "Straight" buttons:
- These buttons select the type of spline used
- during the mesh warping stage. Use these
- different spline types for different effects.
-
- "Tightness" text box:
- Selects the amount of gravity used when drawing
- the Bi-cubic mesh lines. Valid values for this
- option can range from 1 (very little gravity;
- almost straight lines) to 100 (lots of gravity;
- very curvy lines). This only effects the mesh
- warping when the BiCubic mesh type is selected.
-
- Sub menu category "Interpolation":
- "Catmull", "BiCubic" and "Straight" buttons:
- These buttons select the type of spline used
- during the interpolation (or resampling) stage.
- Use these different spline types for different
- effects.
-
- "Tightness" text box:
- Selects the amount of gravity used when resampling
- the output. Valid values for this option can
- range from 1 (very little gravity; almost straight
- lines) to 100 (lots of gravity; very curvy lines).
-
- Preferences menu category "Screen Settings":
- "Display Curves" button:
- Toggles the displayed meshes from curves to straight.
- This option does not effect the Morphing, just what is
- displayed on the screen. Use this option to speed up
- the display when needed.
-
- "Zoom" button:
- Toggles the zoom window. When the zoom window is ON,
- the display and the cursor can be slow. Use this
- option when you need precise placement of mesh points.
-
- "Kwik-screen" button:
- Toggles the Kwik-screen option on/off.
-
- "Sounds" button:
- Toggles the sounds on/off.
-
- "Cursor color" buttons:
-
-
-
- Page 19
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- Toggles the cursor color from Red, to Green, to Blue to
- XOR.
-
- "Mesh color" buttons:
- Toggles the mesh color from Red, to Green, to Blue to
- XOR.
-
- Preferences menu category "Output Image Format":
- "Image Format" buttons:
- Select the output image file format. Available choices
- are: TGA, IPI, IMG, GIF and BMP.
-
- "TGAs Bottom-Up" button:
- Enables or disables the TGA files from being written
- out in Bottom-up format.
-
- Preferences menu category "Operation":
- "Operation" buttons:
- Select the operation to perform. Available choices
- are: Morph, Warp and Fade.
-
- "Fast Morph" button:
- Enables or disables a "draft mode" for morphing. It's
- a faster, but lower quality morph.
-
- Preferences menu category "Output Configuration":
- "Fade 50%" text box:
- This option will select at what percent of the morph
- the fade will reach 50%. For example, if this option
- is set to 10, then at 10% of the morph, the fade will
- reach 50%, hence, most of the fading is done early on
- in the morph. Note that this option sets the center of
- the fade between the start and end of the selected fade
- range (described below).
-
- "Fade start %" text box:
- This option will select at what percent of the morph
- the fade will start. For example, if this option is
- set to 10, then at 10% of the morph, the fade will
- begin.
-
- "Fade end %" text box:
- This option will select at what percent of the morph
- the fade will end. For example, if this option is set
- to 90, then at 90% of the morph, the fade will reach
- the end.
-
- "Warp 50%" text box:
- This option will select at what percent of the morph
- the warp will reach 50%. For example, if this option
- is set to 10, then at 10% of the morph, the warp will
- reach 50%, hence, most of the warping is done early on
- in the morph. Note that this option sets the center of
-
-
-
- Page 20
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- the warp between the start and end of the selected warp
- range (described below).
-
- "Warp start %" text box:
- This option will select at what percent of the morph
- the warp will start. For example, if this option is
- set to 10, then at 10% of the morph, the warp will
- begin.
-
- "Warp end %" text box:
- This option will select at what percent of the morph
- the warp will end. For example, if this option is set
- to 90, then at 90% of the morph, the warp will reach
- the end.
-
- Preferences menu category "Frame Control":
- "Total Frames" text box:
- This text box simply selects the total number of frames
- to create for this morph. The starting frame and
- ending frame are always saved separately.
-
- "Start Frame" text box:
- This text box simply selects the first frame within the
- number of total frames. If the total frames is set to
- 30, and the start frame is set to 20 with the end frame
- set to 25, then 6 frames (20-25 inclusive) will be
- generated.
-
- "End Frame" text box:
- This text box simply selects the last frame within the
- number of total frames. If the total frames is set to
- 30, and the start frame is set to 20 with the end frame
- set to 25, then 6 frames (20-25 inclusive) will be
- generated.
-
- "Frame Offset" text box:
- This text box simply allows you to select an offset
- number to start naming the output filenames. There is
- no correlation between the start, end or total frames
- numbers. This simply changes what the filenames will
- be. This is useful for generating a multi-part
- animation.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 21
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- THE OTHER MENUS
-
- I won't bother going through the different buttons in the rest of
- the menus since they are very self explanatory, I don't want to
- insult your intelligence, and, basically, nobody reads
- documentation anyway (including myself!)
-
- So here's a brief description of each menu:
-
- THE EDIT MENU:
- The edit menu allows you to swap, copy and flip the different
- meshes and images.
-
- THE FILE MENU:
- The file menu allows you to:
- 1. Load/Save/Import (load v1.20) meshes
- 2. Load/Save images
- 3. Set the base filename. There is a maximum of five
- chars (the last three of the first 8 are used for frame
- numbering), but you may point to a path, like:
- "C:\ANIMS\MORPH" will place output images into the
- directory ANIMS on drive C:, and they will start with
- "MORPH", creating images named MORPH001.TGA,
- MORPH002.TGA, etc.
- 4. Select the name of, and enable arithmetic images.
- Arithmetic images are added to, subtracted from, or
- averaged with each output image as it is written to
- disk. You may also select to overlay the arithmetic
- image with a color range. This color range will select
- the range of color values that, if the color in the
- arithmetic image falls inside that range, then it is
- directly overlaid on top of the output image. This is
- useful when you want to add credits to your morph. The
- Background image is calculated BEFORE the arithmetic
- image is.
- 5. Select the name of, and enable background images.
- Background images work similar to the overlay images,
- except that the color range is compared with each of
- the output frames, rather than the background image.
- If a pixel in the output image is inside the range,
- then it is replaced by the corresponding pixel in the
- background image. The background is calculated BEFORE
- the arithmetic image is.
-
- THE FILTERS MENU:
- This menu allows you to select a filter file (described later in
- this documentation), and the appropriate filters contained in
- that file for use on each of the source and target images.
-
- THE PREVIEW MENU:
- A preview is very convenient for deciding where to place mesh
- points, and where flaws may be. To preview an image from a
- morph, simply select which image in the morph you want to view,
- (in the form of a % value, 50% for the center image), and select
-
-
- Page 22
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- the button "Show Preview". The preview will be viewed in the
- current video mode. When the preview is done, a beep will sound
- (assuming you haven't disabled it), and pressing a mouse button
- or any key will return you to CMorph's main menu.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 23
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- CREATING A MESH
-
- Morphing relies on high quality meshes for high quality morphs.
- So, before you create a mesh, start by examining where you want
- to place your most important mesh points.
-
- Once you have decided where you want your primary mesh points,
- you can start adding mesh points. Once all of your primary mesh
- points have been added, you can add support points to help clean
- up the morph even more.
-
- To add a mesh line, move the mouse to the border of the image
- that you want to add a mesh line to, and click the right button.
- To add a horizontal mesh line, click in the left or right side
- border. To add a vertical mesh line, click in the top or bottom
- border.
-
- The mesh lines that get added will be placed between the two
- lines that you were located between when you clicked on the
- mouse. Most of the time, straight-through mesh lines cannot be
- added to the image, so the mesh line is bent at each intersection
- so that it may maneuver through the maze of mesh points.
-
- You may notice that there were actually two mesh lines added, one
- for each image. This is because CMorph requires that there be an
- equal number of mesh lines in each image. This should be taken
- into consideration when adding mesh lines.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 24
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- FILTER FILE (.FLT) FORMAT
-
- The filters are contained in the filter file.
-
- The filter description format for a 3x3 filter is as follows:
- FILTER NAME <filtername> <size>
- <upper-left> <upper-center> <upper-right>
- <center-left> <center-center> <center-right>
- <lower-left> <lower-center> <lower-right>
- <operator> <operand> <bias>
-
- Any text following semicolons are comments
-
- Where <filtername> is the name of the filter. This is where
- CMorph looks for the filter name (in the filters menu). <size>
- is the size of the filter (3, 5 or 7 only, others are ignored).
- For 5x5 and 7x7 filters, the above example is incomplete, since
- from <upper-left> to <lower-right> would be a 5x5 or 7x7 "grid".
-
- Convolutions are quite simple. For each pixel in an image, the
- filter grid is overlaid onto that pixel and it's neighbors with
- the <center-center> element of the filter grid aligned onto the
- current pixel in the image, and the outer elements in the filter
- grid overlaying the current pixel's neighbors. The next step is
- to multiply each element in the filter grid with it's
- corresponding overlaid pixel value. Once all these values have
- been calculated, add them together and perform the operation (/ 8
- for an <operator> of '/' and an <operand> of '8'.) Lastly, add
- the <bias> value. If the addition of <bias> (or subtraction of
- <bias> if it is negative) takes the result above 255 or below 0,
- then the value is clipped to 0 or 255, respectively.
-
- A good trick for trying your own is to take a current filter,
- copy it, change the new copy's name, and modify it. If you have
- problems getting usable resulting images, try adding all of the
- values in the filter's grid and placing that value in <operand>
- with an <operator> of '/'
-
- NOTES:
- The valid range for <bias> is 0-255.
-
- Valid <operator> values are:
- +.......Add <operand>
- -.......Subtract <operand>
- *.......Multiply by <operand>
- /.......Divide by <operand>
- M.......Sort all multiplied grid elements, and use the
- median. Ignore <operand> -- Operand MUST still
- be present
- <.......Sort all multiplied grid elements, and use the
- lowest. Ignore <operand> -- Operand MUST still
- be present
-
-
-
-
- Page 25
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- >.......Sort all multiplied grid elements, and use the
- highest. Ignore <operand> -- Operand MUST
- still be present
-
- CMorph will search for the filter file in the following
- order:
- 1. The current directory
- 2. The default CMorph directory (where CMORPH.EXE is
- stored)
-
- CAUTION: The median ('M'), dilate ('>') and erode ('<')
- functions take a LONG TIME in 5x5 or 7x7 filters. Try to
- stick with using 3x3 filters for these operators.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 26
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- IPI FILE FORMAT
-
- The IPI (pronounced "ipee") file format is used to store 24-
- bit images. This format was designed to be the simplest to
- decode for programmers so that they may add functionality to
- CMorph via external programs. This file format was
- originally designed for use in CImage (The Complete Image,
- another of my products). If you don't own a copy of CImage
- (I won't try to sell you one, I promise), then you will most
- likely have no use for this file format.
-
- The IPI format is as follows:
- X resolution (WORD - MSB first)
- Y resolution (WORD - MSB first)
- Image data:
- FOR EACH PIXEL IN THE SCREEN (XRES * YRES)
- {
- Red Element (BYTE)
- Green Element (BYTE)
- Blue Element (BYTE)
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 27
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- FUTURE ENHANCEMENTS
-
- o Add import/export to meshes from dmorph
-
- o Add PCX
-
- o Add new Nettleman spline
-
- o Add output of .FLI/.FLC/.FLX file format
-
- o Add TIFF
-
- o Add sine wave addition to splines
-
- o Add vertical resolution to preferences screen
-
- o Delete mesh lines
-
- o Different sizes for each input file and different size for
- output files
-
- o Gamma for both images
-
- o ListBox for mesh files and image files
-
- o Morphs of animations
-
- o Move entire mesh lines
-
- o Targa - Compressed versions (and other versions not
- currently supported)/32-bit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 28
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- CONTACTING CUSTOMER SUPPORT
-
- I'm available in the evenings, I have the standard 9-5 job
- (eastern time). If you need to reach me during the day, you can
- do so by calling and leaving a message. I call in to my voice
- mail about three times per day, however, on hectic days, it's not
- so easy, and I may not get any messages at all until the evening.
-
- Tech Support is available for all registered users for one full
- year following the purchase. For non-registered users (and
- registered users over one year), tech support is not officially
- available. But if I'm not swamped, I'll try to get back to you.
- Registered users over one year have priority over non-registered
- users. So, please state your status. It can be verified on
- computer.
-
- To contact me, just call (313) 941-9223.
-
- You may also mail your support questions to:
-
- Paul D. Nettle
- 9668 Washington St.
- Romulus, MI 48174
-
- In addition, you can contact me through Fidonet netmail addressed
- to Raytech BBS as follows:
-
- TO: Paul Nettle 2:259/49
-
- Raytech BBS maintains a registered user's conference for CMorph
- and I collect my mail regularly.
-
- My phone number and address are for support, comments,
- suggestions, questions, registration information, and of course,
- orders.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 29
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- ORDERING INFORMATION
-
-
- What you will get when you register through the author:
-
- o The registered version of CMorph on disk (your choice of
- disk format -- 1.2M or 1.44M).
-
- o A printed manual.
-
- o The next update of CMorph -- free of charge (Including
- printed documentation).
-
- o Peace of mind.
-
-
- What you will get when you register through RayTech BBS:
-
- o The registered version of CMorph via modem or mail.
-
- o Free access to later registered versions of Cmorph via a
- Private files area on Raytech BBS reserved for Cmorph
- registered users.
-
- o Reduced Subscription Rates to Raytech BBS if ordered at the
- same time as Cmorph registration.
-
- o Peace of mind.
-
-
- Non-registered vs registered users:
-
- o Registered versions don't display the registration notice
- upon startup of CMorph.
-
- o Registered versions are marked with an "r" after the version
- number in the title rather than a "u".
-
- o Registered users are allowed free technical support priority
- via phone, by mail, or e-mail. Non-registered users are
- given no official technical support. (see Contacting
- Customer Support).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 30
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- HOW TO REGISTER
-
- How to register with the author:
- To order a copy of The Complete Morph, just print out the
- REGISTR.FRM, fill it in, and send it with you check or money
- order for $35.00.
-
- How to register on-line with CompuServe:
- To register a copy of The Complete Morph on-line, just log
- onto CompuServe and "GO SWREG". Once in the forum, you'll
- have a short menu. Select the option labeled "Register
- Software". The Registration ID is #1629. The fee is $38.00
- (inculdes S&H).
-
- Registration via RayTech BBS (in the UK only):
-
- Who is Raytech?
- Who is Raytech? Who is Raytech?
- Raytech BBS is a great graphics specialist BBS in the United
- Kingdom run by Paul Smith. You'll find all sorts of the
- latest Graphics programs there, especially raytracing
- programs and support.
-
- Registration fee: 25 UK pounds.
-
- Ways to pay ... Cash by Post
- Cheque payable to Raytech BBS
- Access, Visa, MasterCard, or Eurocard, by
- phone or on-line.
-
- Send payments to:
- Raytech BBS
- Rubicon Clashmore near Dornoch
- Sutherland Scotland IV25 3RG
-
- Send your payment with:
- Your Name, Address and home telephone number
-
- UK numbers Intrn'l numbers Hours
- ----------- --------------- -----
- Voice number: 0862 88388 +44 862 88388 24 hours
- Fax number: 0862 88377 +44 862 88377 8am to 6pm
- BBS line 1: 0862 88340 +44 862 88340 24 hours
-
- Network Addresses:
- FIDOnet: 2:259/49
- PCGnet: 9:526/464 UK host
-
- Modem Setup:
- Communications: 8N1 V32bis V42bis MNP 1 - 5
- Speeds: 2400/4800/7200/9600/12000/14.4
- Terminal: ANSI BBS
- Operation: 24 hours
-
-
-
-
- Page 31
-
-