Metamorph Alpha written by Steve Sprang February 2, 1997 (Groundhog's Day) Introduction ============ Metamorph Alpha is a crude prototype of the morphing application I hope to release within the next two or three months. I began work on the project over winter break but have not had much time to work on it for nearly a month (I'm a full-time computer science major at CMU). I finally managed to sacrifice a few hours to fix things up enough to consider it an Alpha. Although I've released Metamorph, please keep in mind that it is *Alpha*. Roughly translated that means "Ugh". There's still a way to go before I'll consider it good enough to be Beta. (Beta by the way means "Pretty Good"). I do feel, however, that it's generally good enough for you to take a peek at. What You Need ============= *** IMPORTANT *** Metamorph is useless unless you have installed Jake Hamby's JPEG library. It is available from ftp.be.com in /pub/contrib/libraries/jpeg-6a_BeBox.tar.gz Basics ====== 1) Sequence Window - a window which holds thumbnail images of jpegs which you would like to morph. Drag jpeg files into the window or select "New Tile..." from the "File" menu in order to add them to your sequence. 2) Tile - a box in the sequence window which holds the actual thumbnails. The "Frames" field is currently ignored, but it will eventually allow you to specify the number of morphed frames between the current image and the next. If you click in the tile border with the second mouse button you get a pop-up menu which allows you to remove the tile. If you click and hold with the first mouse button you can drag 'n' drop a tile into a new position in the sequence (if you release the button when the cursor is over the left half of a tile the dropped tile will be placed before it in the sequence, releasing it over the right half of a tile places the dropped tile after it in the sequence). Tiles are cool. Add as many as you want. 3) Mesh Editor - a window which allows you to edit the (currently fixed-size) mesh of an image. The mesh lets you set the correspondence between jpegs in your sequence. You can open the mesh editor by clicking on the image thumbnail in the tile. Opening the editor for each image in your sequence will allow you to see which point is currently selected in all of the tiles. There is a bug in this actually: double-click a point to see the corresponding point in the other images. 4) Morph Window - The window which shows the actual morph. To get this going select "Morph" from the "Morph" menu. Pitfalls ======== * Please make sure you have saved all of your important documents before playing with Metamorph. It's still buggy. * The "Metamorph" folder must be at the top level of your bootdisk hierarchy (i.e. typing "/boot/Metamorph/Metamorph" in the terminal window should boot the app. This allows the included demo sequence to find all the approriate files (my quick implementation stores them as simple paths). * Don't quit the application while a morph is actually morphing. Select "Stop" from the morph window's "Morph" menu first. (say that 10 times fast) * All images in a seqence MUST be the same size. No error-checking here! * Try rearranging the sequence and adjusting meshes while the morph is actually running. It's pretty cool. Just DON'T REMOVE a tile during a morph! * If you save a sequence, the hardcoded filename is "/boot/Metamorph/sequence". Sorry. You can change the name and move it wherever you like after it's been created. (Just don't move the refereneced images) * No way to save the actual animations. * Runs slowly on my Dual 603-66 BeBox. * Looks crappy on my Power Macintosh 8500. No 32-bit color and poor 8-bit dithering of 32-bit bitmaps. I've included a Macintosh version (MetamorphMac) which swaps the color bytes of the bitmap so that colors appear correctly. This is a temporary until Be implements an OS-level fix. * The "Loop" option cannot be shut off. Morphs just keep on looping. * Probably others that I've forgotten... it's 5:30 AM. Changes expected for version 1.0 ================================ * Use of the awesome DataTypes library from Jon Watte * Support for 8-bit and 32-bit image formats (follows somewhat from above) * Proper saving/loading of sequences * Segment based correspondence-setting (or a better mesh-based method) * Variable sized images * Magnify in segment editing window * Saving of generated morphs into some movie format * Improved Performance License ======= Metamorph is currently being distributed as freeware because it's only an Alpha version. However, the real release, which will hopefully be available in sync with DR9, will be shareware. The license is expected to be $10. If you like Metamorph (or think it shows potential) I would welcome monetary donations at this time. This will allow me to see general interest in the project, and also give me incentive to keep working on the program. If you should send a donation now, you'll be automatically registered for all future versions of Metamorph. Not to mention that you're name will go into a list of my personal heroes. ;) Donations larger than $10 are also welcome. Images ====== The two images included with Metamorph were taken from Gryphon's Morph demo package for the Macintosh. Contact Info ============ Please send all comments or bug reports to me: E-mail: sprang@andrew.cmu.edu ssprang@cs.cmu.edu Permanent Address: Steve Sprang 141 State Route 603 Shiloh, OH 44878 WWW: http://www.andrew.cmu.edu/user/sprang Other Be software I've written: http://www.andrew.cmu.edu/user/sprang/besoft.html