home *** CD-ROM | disk | FTP | other *** search
- DMORF Revision History
-
- Rel 1.1.2, 08/09/93 -
- o If you tried a simple fade between two pictures (that is, morph
- with no control mesh), and the picture on the right was a
- bottom-to-top TGA file, DMorf wouldn't flip it like it's
- supposed to, and it would fade to an upside-down version of
- the picture.
- Fixed.
- Rel 1.1.1, 07/29/93 -
- o When you hit the escape key at the "Save" or "Load" prompts,
- DMorf wouldn't restore the menu correctly. Fixed.
- o When you run DMorf in a VESA SVGA graphics mode from a
- full-screen MS-Windows DOS box, and you swap sessions
- with the Alt-Tab keystroke, Windows has trouble restoring
- the screen when you swap back.
- It doesn't hurt anything... if you're running a morph,
- it'll keep processing. But the screen looks real bad,
- and it's hard to figure out what's going on.
- So, I added an Alt-R (refresh screen) keystroke.
- It redraws the pictures and the current menu or dialog.
- Works only while a menu or dialog is active.
- Rel 1.1, 07/12/93 -
- o Added a /GO command-line option, which you can use like this:
- dmorf bla.msh /go
- it'll make DMorf load the BLA.MSH mesh file, process the morph,
- and then exit to DOS when it's done. Useful if you want to
- run a morph from batch file.
- o Built a new executable, DMORFNC.EXE, for folks without math
- coprocessors. It uses Borland Pascal's 6-byte Real data type
- instead of the 4-byte Single-Precision floating point numbers
- used in DMORF.EXE. Borland Pascal's built-in support for
- Reals is quite a bit faster than its coprocessor emulation.
- On a machine without a coprocessor, DMORFNC.EXE should only be
- 2 or 3 times slower instead of 10 or 20 times slower.
- o Changed the picture and spline display during morphing...
- now it shows the results from both passes of the "two-pass
- mesh warp".
- o Moved "Morph Switches" and "Frame" controls to a new
- dialog available with "Settings" button on both
- main and Max views.
- o Added "Before" and "After" selection radio buttons
- ... which decide which window some of the other
- functions operate on, like Edit, Max, FlipH, Scale,
- and Move. So there's no need for two buttons for each.
- o Shrunk the main menu so there's only two rows of buttons,
- and the picture windows can be larger.
- o Added a button for deleting lines from the meshes.
- o Found some new spline code from George Wolberg in Dr. Dobb's
- Journal... so I adapted it and replaced the previous spline
- code. The new splines are a *lot* less prone to going
- nuts.
- o Because of the stabler spline code, I put back some old
- disabled code for remapping intervals between mesh lines
- using splines instead of linear interpolation...
- I may change this so that splined intervals are a default
- that you can turn off.
- The result is a more natural looking warp, but I suspect
- there are some circumstances where linear interpolation
- of intervals would look better.
- o Renamed fatpixels to "Zoom". Also added a Zoom button to
- the Maximized screen, for fine-tuning mesh control points.
- Rel 1.04, 05/23/93 - (beta release, limited distribution)
- o Finally "add mesh points" works right... even if you've
- moved the points on the borders, the new lines will get put
- in the right place.
- Rel 1.03, 05/09/93 - (beta release, limited distribution)
- o DMorf wasn't saving the Gamma correction values in mesh
- files. Now it does.
- o Changed "Spline Always" option... now it continues
- displaying splines even while editing control points.
- Ideally this'd be automatic whenever "Spline Mesh" is
- selected, but it works way too slowly except on the fastest
- of machines.
- o Added "Save As" to Edit screen. Now Save just saves to the
- current filename for the picture. Save As prompts you for
- a new filename.
- When you do Save As, DMorf will change the filename in
- the Pictures dialog, too.
- o Now if you Edit picture 2 when only one picture is loaded,
- DMorf will load in a copy of picture 1... make sure to
- use "Save As" when saving it back. Otherwise you'll mess
- up the file for picture 1.
- o Added a new screen, "FatPixels", which can be accessed from
- the Edit screen. It gives a magnified view of a portion
- of the picture and lets you edit the transparency mask for
- individual pixels.
- (Now pixel editing only works on the FatPixels screen,
- and area editing only works on the edit screen... it 1.02
- you could fiddle with pixels on the regular edit screen,
- but it didn't work well except with a tiny picture.)
- o Added "ABlur" (Alpha-Blur) button on the Edit screen. It
- performs a weighted blur filter against just the alpha
- channel... this helps a bit since DMorf's rudimentary alpha
- editing doesn't support fractional values.
- o Renamed "Zoom" to "Maximize"... since that's what it's really
- doing.
- o Renamed "Mirror" to "FlipH" (Flip Horizontal)... 'cause I'll
- probably add vertical flipping one of these days.
- o Added "Show In-between" and "Verbose Status" checkboxes
- to the morph switches menu panel. If you turn off
- "Show In-between", then DMorf won't update the screen
- while it's morphing... resulting in a speed increase.
- If you turn off "Verbose Status", then DMorf will display
- fewer messages while morphing... no percentages. I thought
- this would produce an okay speed increase, too, but it
- didn't really.
- o I'm thinking of turning "Smooth Resample" off in the defaults...
- so that the defaults would represent the fastest options, even
- if it looks terrible. Any thoughts, anybody?
- o Adding points didn't work right if you used the bottom or right
- borders of a picture. Fixed.
- Rel 1.02, 05/03/93 - (beta release, limited distribution)
- o Fixed message box placement.
- o When you edit a control point, DMorf now draws a little
- circle around the corresponding point in the other picture.
- o DMorf no longer dumps you out to DOS if you type in an
- incorrect picture filename.
- o Added "Spline Always" checkbox... if it's checked off,
- DMorf always displays meshes as splines instead of lines.
- ... except while editing control points.
- o Gamma-correction (for picture display only) works now.
- (if your picture looks murky, try File=1.0, Disp=2.0.)
- o Fixed some message box glitches.
- o No locked mesh points yet, sorry.
- o Split "Save" button to "Save" and "Save As". Save will save
- to the current mesh-file name if there is one. Save As
- will prompt for a new mesh-file name.
- o Split "Load" button into "Load" and "Reload". Load prompts
- for a mesh-file name. Reload re-reads the current mesh-file.
- o Area alpha-editing now works (Select the "area" radio-button
- object).
- o Pixel alpha-editing now works better (Select the "pixel"
- radio-button object).
- o The Save button on the alpha-editing screens now works.
- ... even if you're using a GIF or IMG file, it always saves
- the picture as a 32-bit TGA file (so that the alpha information
- gets saved), and changes the filename in the Pictures dialog.
- No Save As for pictures yet.
- o Added a "Mirror" button to the Edit screen... so you can flip
- a picture horizontally. Useful for symmetric morphs.
- Rel 1.01, 04/25/93 - (beta release, limited distribution)
- o Added VESA 1024x768x256 and 800x600x256 graphics modes.
- You have to request these modes with the /1024 or /800
- command-line switches
- (I would have made /1024 the default, but I don't want folks
- to accidentally get that mode if it's not supported by their
- monitors... I've heard that that this could damage a monitor)
- o Changed the mesh file format... it's now a text file
- instead of a binary file.
- This should make it a bit easier for folks (including me) to
- build compatible files in external programs, if they're so
- inclined.
- Of course DMorf still reads all the old binary mesh files
- from earlier versions.
- o Added a Hide button, which will make the control mesh
- invisible for as long as you keep it pressed.
- o If you load a 32-bit TGA file that contains transparency
- information, DMorf will display all transparent pixels
- (also partially transparent pixels) in a different color.
- You can change this color with the Alpha R,G,B controls.
- o Moved some of the controls (screen colors, output file
- options) off of the main menu and onto popup dialogs.
- Changed "Zoom 1" and "Zoom 2" buttons to little Maximize
- buttons on the top-right corner of the picture windows.
- These changes allow the menu panels to use up less of the
- screen, freeing up more of the screen for displaying pictures.
- o Added Alpha color controls (in the Screen colors dialog).
- This lets you control what color transparent pixels are
- displayed in.
- o Added controls for gamma correction controls for picture
- display (in the Screen colors dialog). Haven't actually
- implemented gamma correction, though.
- o When saving a mesh, DMorf now appends a '.MSH' to the
- filename if you don't specify one, just as it does when
- loading one in.
- o Added Input filename controls (in the Pictures dialog) for
- specifying before & after pictures, and background picture
- so you can change pictures without leaving dmorf.
- (The background picture feature isn't implemented yet, though)
- Input picture filenames are no longer required on the
- command-line. If you want, you can start up DMorf
- with just the "dmorf" command, and then specify the pictures
- in the Pictures dialog.
- DMorf also saves the picture filenames into the mesh file.
- o DMorf no longer aborts when two pictures are specified
- which don't have the same dimensions. But, it will
- still refuse to morph two pictures if they are differently
- sized. I'm planning on building in scaling so that you
- can morph differently-sized pictures, but haven't done it
- yet.
- o You no longer have to do a '/C' or '/M' to load in a
- mesh file... DMorf will assume you're specifying a mesh
- based on the '.MSH' extension. You can just type
- "dmorf xxx.msh" to load in a mesh, along with the pictures
- named in the mesh file. Or you can specify filenames and
- mesh with a command like "dmorf xxx.msh file1.tga file2.tga"
- or "dmorf file1.tga file2.tga xxx.msh". Of course the
- "/C" and "/M" switches are still recognized.
- o Moved Message windows so that they cover the menu panels
- instead of the pictures. This way it's easier to see what's
- going on during the morph. Also, since there's no more
- need to store what's underneath the popup (it's easy to
- recreate the menus), DMorf uses a tad less memory.
- o Added Edit windows... which let you modify the transparency
- values of pixels in the pictures.
- Still have to add a way to make an area transparent...
- with a rubber-band box or something.
- The Save button doesn't work yet, unfortunately... so
- the transparency only stays in effect if you've "preload"ed
- the pictures.
- Rel 1.0, 04/08/93 -
- o There's only one version of the program now, running in
- Protected mode.
- o DMorf displays pictures in 640x480x256 mode if your hardware
- can do it (and your hardware is compatible with DMorf's
- VESA graphics driver). Otherwise, it will switch to 16-color
- mode.
- If DMorf doesn't work properly with your VESA board or VESA
- driver, you can tell it to use regular VGA mode with the
- /NOSVGA command-line parameter.
- o Instead of listing the current row or column while morphing,
- it just displays what percent of the job it has completed.
- o Fixed some bugs in TGA output file header.
- o Added some controls for selectively turning off nonstandard
- features in TGA files. (Well, they're standard according
- to the specification, but not all programs support them).
- These features include run-length encoding, 32-bit
- pictures, and top-to-bottom scanline order.
- o Added "Mirror" buttons, which flip meshes horizontally.
- o DMorf used to leave a temporary file called "WARP.TGA" on
- the disk when it was done morphing... it now deletes this
- file.
- o (An otherwise undocumented features which might disappear in
- the future: Alt-P captures the screen to a grayscale TGA
- file.)
- o (A last-minute addition... if you use the /QUICK command-line
- option, DMorf won't keep updating the screen as it morphs...
- this can save quite a bit of time. In the future I'll make
- this a setting that you can change on the DMorf screen.)
- o (Another last-minute addition... if you use the /PRELOAD
- command-line option, DMorf will load each of the pictures
- into memory once at startup instead of constantly re-reading
- them during the morphing process. This should adds a lot of
- speed, especially in SVGA mode, but requires a hunk of
- additional memory.)
- o Fixed a bug that prevented DMorf from reading Vivid IMG files
- without crashing.
- o Fixed a bug that caused DMorf to allocate too much memory
- while morphing.
- Rel 0.12, 12/26/92 -
- o Okay, I messed up. Too much "holiday cheer" I guess.
- Anyway, in 0.11 I did fix the bugs mentioned below, but
- added several others while I was at it. Fixed.
- o Added buttons on the zoom screens for switching between
- zooms.
- o Changed the way keyboard control works... if you press a
- letter it'll activate the screen control in question instead
- of just selecting it.
- Rel 0.11, 12/24/92 -
- o Fixed some bugs: (1) there was some garbage in the headers
- of TGA files because of uninitialized variables.
- (2) Dmorf wasn't able to read mesh files from 0.09 and earlier
- which were saved when the meshes were "locked".
- o Fiddled with mouse stuff so it behaves more smoothly in
- protected mode.
- Rel 0.10, 12/21/92 -
- o Changed the name of the program to Dmorf (short for "Dave's
- Morphing program" ... it seems that "Morph" was already taken
- by a Macintosh commercial morphing program).
- o Fiddled with the UI some more. You can now click on a number
- field and type the number in instead of using the arrows to
- increment and decrement them.
- o Added a "swap" button... it swaps meshes between the two
- pictures.
- o Added "copy 1->2" and "copy 2->1" buttons... which make
- duplicate the mesh from one window in the other.
- These are replacements for the old "locked" setting.
- o Dmorf no long exits to DOS when it's done morphing. It just
- returns to edit mode. Use the "quit" button or the <Esc> key
- to exit the program.
- If you press the ESC key while a morph is in progress,
- it returns you to edit mode.
- o Dmorf doesn't need to load a whole picture into RAM just
- do display it anymore... so you can display pictures and edit
- meshes even with the real mode version (DMORF.EXE), and that
- means you can use the SVGA mode (with the /S option) which
- still doesn't work in protected mode.
- For large pictures (or actually, anything but TINY pictures)
- you'll need to use the protected mode version to do the
- actual morphing.
- o You can now select UI controls with the tab key and space bar
- instead of the mouse. You can't control meshes with the
- keyboard, but any other screen items should work fine.
- Also, you can select a control by typing the letter that's
- highlighted in its label... for instance, the G in the Go
- button is highlighted. If you press the G key, the Go
- button will be selected... then just press the space bar
- to actually select the button.
- o Got rid of "Spline intervals" option. It almost always
- produces "pixel rot" (thanks to Eric Kachelhofer for coming
- up with that term), and the results were hardly ever
- any better than without.
- o Dmorf now displays the intermediate meshes while it warps.
- Rel 0.09, 12/09/92 -
- o Added /C command-line parameter, which lets you preload a
- mesh/control file. "morph before.tga after.tga /cbla.msh"
- preloads a control file called "bla.msh".
- o The maximum value for the "last frame" control wasn't
- getting reset properly when Morph read in a control file.
- Fixed.
- o Added /S command-line parameter, which tells MORPH to use
- SVGA (640*480*256) instead of VGA (640*480*16).
- Unfortunately, this only works in the real mode version,
- because the SVGA256.BGI driver dies in protected mode,
- so you'll only be able to use it on tiny pictures.
- Hopefully this'll be corrected in a future version.
- Rel 0.08, 12/06/92 -
- o Fixed two more bugs which in some circumstances caused
- runtime errors.
- o Changed some of the on/off-type controls to checkboxes.
- o Added controls to change the color of the mesh... sometimes
- the default red color doesn't stand out too well.
- o Some of the on/off-type control values weren't getting saved
- in the control file correctly. Fixed.
- o Cleaned up the line-adding code... now Morph only pays attention
- to the right button if the cursor is in a picture border.
- In fact, if you try to use the right button anywhere else, it
- lets off an irritating sound. It also sounds a tone if you
- try to add a line where there already is one.
- o Morph now pays attention to the escape key in zoom mode.
- Rel 0.07, 12/03/92 -
- o Fixed another memory allocation problem, which was sometimes
- generating page-fault errors (runtime error 216).
- Rel 0.06, 12/01/92 -
- o MORPH wasn't deallocating some memory correctly, resulting
- in out of memory errors after a while.
- Rel 0.05, 11/30/92 -
- o You can halt MORPH at pretty much any time with the <Esc> key.
- o the Warp 1/2 and Fade 1/2 controls weren't working right... no
- matter what value was selected, MORPH would use the 50% for Warp
- and 75% for Fade. Fixed.
- o got rid of all the EMS/XMS/virtual memory stuff... there are
- now two versions of the program: MORPH, which runs in real mode
- and should work on pictures that are 320x240 or less; and
- MORPHX, which runs in 286 Protected mode and should work on
- pictures that are up to around 2000*2000 (if you've got 16MB
- of memory... even if you've got more than 16M, MORPH can't access
- any more.)
- I will rework this so it stores only one channel at a time
- (red, green, blue, alpha) and can work with pictures four
- times larger. This'll make it slower, but I think that's a
- fair trade.
- Or maybe I'll rework MORPH so it operates on chunks instead
- of a whole picture.
- Note: to get the protected mode version working, you must have
- a copy of RTM.EXE and DPMI16BI.OVL (and maybe DPMIINST.EXE if
- you've got an unrecognized 286 processor). These files are
- available in another archive, DTAMEM.ZIP. They're in a separate
- archive so you won't have to redownload them each time MORPH
- (or my other programs, DTA and PDOTS) gets updated.
- o MORPH now updates the screen as it's performing a morph.
- In each pass of the warping process, for each picture, it
- updates the picture in question with the interim results.
- It then updates both screens with the actual merged morph
- frame.
- o I discovered that the cause of a lot of streaking on the screen,
- (and probably some crashes) was caused by a routine I was trying
- out for figuring out the resampling intervals between mesh
- curves using splines.
- An earlier version of the routine, which uses linear
- interpolation method, is stabler and faster. The linear
- method is now the default. You can still switch back to
- the spline method if you want (sometimes it produces more
- convincing results). This option is called "Spline intervals".
- o MORPH will no longer abort if you start it up without a
- mouse driver loaded. Instead, it will allow you to type a
- few keystrokes. The keystrokes it recognizes are <Esc>
- or "A" to abort, "L" for load mesh file, and "G" for "Go".
- Rel 0.04, 11/26/92 -
- o Fixed another bug with upside-down TGAs (in zoom mode)
- o Fixed a minor interface bug.
- o Linked the bgi driver into the executable... so there
- shouldn't be "initgraph" errors when you don't have
- "egavga.bgi" in the morph directory.
- Rel 0.03, 11/23/92 -
- o Fixed run-time error that was all that you got from
- pressing the Zoom buttons.
- o When dealing with upside-down TGAs (first line
- at the bottom), MORPH flipped the picture upside down but didn't
- flip the control mesh along with it. Oops.
- o Copied a bit of interface gunk from PDOTS.
-