home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-04-19 | 56.3 KB | 1,864 lines |
- The Complete Morph v2.00
-
- Copyright 1993, Paul D. Nettle
-
-
- _______
- ____|__ | (R)
- --| | |-------------------
- | ____|__ | Association of
- | | |_| Shareware
- |__| o | Professionals
- -----| | |---------------------
- |___|___| MEMBER
-
-
- Document dated: November 17, 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
- System Requirements .................................5
- 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
- WARP END % text box ............................21
-
-
- Page 2
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- 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 ..........................................23
- Filter file (.FLT) format ................................24
- IPI File Format ..........................................26
- Future Enhancements ......................................27
- Contacting Customer Support ..............................28
- Ordering Information .....................................29
- What you will get when you register .................29
- What you get when you register via Raytech BBS ......29
- Non-registered vs registered users ..................29
- How to register with the author (except UK) .........29
- Registration in the UK (via RayTech BBS) ............30
- Who is Raytech? ................................30
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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 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.
-
-
- Page 4
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
-
- 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.
-
- 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
-
-
-
- Page 5
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- 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
-
- DESCRIPTION:
- 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 environ ment 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, 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]]...
-
-
-
- Page 11
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- (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-series
- auto PS/2 2 None Set automatically for PS/2
- auto 386/486 3 386, 80386 Set automatically for 386/486
- auto 386 INBOARD None 386 with Intel Inboard
- req'd Fujitsu FMR-70 5 None Must be set for Fujitsu FMR-70
- 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/55s
-
- 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
- NEC-98-series 1
- Fujitsu FMR-60,-70 5
- Hitachi B32 14
- OKI if800 15
-
-
-
- Page 13
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- 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]
-
- 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
-
-
-
- Page 14
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- 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:
- 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.
-
-
- Page 19
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
-
- 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 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:
-
-
-
-
- Page 20
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- 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 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 22
-
-
-
- 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 23
-
-
-
- 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
- >.......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)
-
-
-
- Page 24
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- 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 25
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
- IPI FILE FORMAT
-
- DESCRIPTION:
- 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 26
-
-
-
- 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 27
-
-
-
- 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 28
-
-
-
- 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).
-
- How to register with the author (except when in the UK):
- 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.
-
-
-
-
-
-
-
-
-
-
-
-
- Page 29
-
-
-
- The Complete Morph -- Copyright 1993, Paul D. Nettle
-
-
-
- Registration in the UK (via RayTech BBS):
-
- 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 30
-
-