VMD 1.5 Development Status

  • VMD 1.5 Released (6/28/2000)
    • Updated the Windows 95/98/NT/2000 installers
    • VMD distribution now includes PDF versions of the documentation, and the installer puts a copy of the User's guide into the doc subdirectory of the installed VMD. Since the PDF docs are so much smaller, all binary distributions now include the User's Guide PDF.
    • Updated the openURL.tcl script to format the help listing much more nicely.
    • Updated READMEs with bug fix listings, and feature change lists
    • Fixed FileRenderer update behavior, particularly snapshot.
    • DrawForce no longer forces all of VMD to redraw every frame, only when actually required.
    • Updated configure script WIN32 defaults.
    • Fixed redraw update flags when Display form settings are changed.
    • Eliminated Timer from UIText docs.
    • Eliminated UIList class from docs.
    • MolAction calls animation's interface directly now.
    • Fixes to the SMD tool in UIVR.
    • Several new documentation improvements.
    • Got rid of old help URLs listed for mdcomm/mdscope
    • Added text help for various Tcl commands
    • Fixed PR 105 (Disallowing use of colorid 16 for black..)
    • GeometryList only resets its display list when it really has to now.
    • Eliminated VMDGlobal.needUpdate
    • Eliminated unnecessary inclusion of stack.h in various source files.
    • Eliminated unnecessary class members in various parts of VMD.
    • Fixed PR 104 (Unnecessary screen redraws eating CPU time)
  • VMD 1.5 Beta 1 (5/25/2000)
    • New "cancel" button in the molecule form for cancellation of loading long trajectory files.
    • Started writing code to deal with fixed atoms in DCD files.
    • Updated docs for Gromacs stuff.
    • Updated FreeVR/Cave code to do vertex arrays and materials properly.
    • Deleted dead Tcl code that was for some sort of ancient Kinemage support which we don't know anything about anymore.
    • Updated the documentation some more, got rid of stuff that users are never going to care about.
    • Fixed problem with the documentation that was causing latex2html to malfunction. There was't really anything wrong with the latex document, but a strange interaction between dvips and latex2html caused all of the images in the HTML version of the document to get included out-of-order and incorrect.
    • Fixed PR 100, a problem with reading Gromacs .xtc files, an uninitialized local variable was causing sanity checks to fail and report a badly formatted file.
    • Fixed measure_minmax() in Measure.C
    • Fixed bug in text_cmd_measure and added usage feedback.
    • Updated implementation of POV-Ray 3.x file renderer to handle transparency better etc.
    • Updated Raster3D and Radiance and file renderers.
    • Renamed the "Mol" form to "Molecule", and fixed related buttons.
    • Changed the "Sim" form to "Simulation", and fixed related buttons.
    • Fixed PR 98 (Tk not compiled into Windows VMD's)
    • Fixed PR 97 ("Help" button didn't work on Windows)
    • Added a new "DRI" configuration option for compiling VMD to use the new XFree4.0 Direct Rendering Interface version of OpenGL/Mesa
    • Updated OpenGL, Tachyon, and Rayshade renderers to handle the new VMD material properties.
    • Huge updates to the VMD documentation, including the materials forms, latex2html builds of docs, Makefile, elimination of MDScope/MDComm references in the docs, .vmd_init, UNC, and numerous other program changes.
    • Pruned unnecessary include files.
    • Eliminated MSGDEBUG from VMD source.
    • Implemented new materials GUI and commands.
    • Improved DCD reader error messages.
    • Major updates to documentation build system.
    • Updated Unix platform documentation, removed trailing log messages from all of the latex files. Eliminated some unneeded files.
    • Removed "internal" caps on cylinders drawn in the Cartoon reps. This improves transparently rendered reps significantly.
    • Fixed 64-bit UltraSparc configurations in configure script.
    • Updated FileRenderer and Tachyong renderers to handle recent materials and transparency rendering changes.
    • Changed the background colors for various panels in FLTK builds to use the lighter Cyan color rather than the dark blue color that we had been using. Not perfect, but better than what we had before.
    • Fixed problem with Stride interface, found bug in buffer sized passed to the iostreams::getline() method.
    • Documentation updates for Mouse form, eliminated "popup menu" docs.
    • Fixed multiple deletion of the PickMode registry.
    • Separated Colors and Materials.
    • GCC can't instantiate static template classes, so the PickMode _registry member is now implemented as a pointer which gets set when the first PickMode constructor gets called. This works on all platforms.
    • Fixed a bug in DispCmdSquare
    • Rewrite of PickMode system
    • vmdGlobal.mouse is eliminated.
    • User key functions are now removed from the Mouse code, moved to CmdUser
    • UIObject::update is now eliminated.
    • Tools now update themselves with their virtual prepare() function.
    • DispCmds are now written directly into the display list, eliminating some extra copying.
    • Refactored the Stage class.
    • elimination of more vmdglobal data.
    • IMDMgr is now a UIObject, no longer global, makes a static pointer.
    • Major cleanup of FormsObj, UIObject, update methods, and having the command queue take over what UIList used to do. Eliminted UIList.
    • "menu loc", "menu status" now executed by the relevant form.
    • CmdMenuShow now uses textual id's
    • "menu list" works via a text command now.
    • TextEvent deletes its strings now.
    • Fixed bug in DrawForce arrows not being drawn
    • CmdLogRead goes through the command queue now.
    • CmdWait now goes through the command queue instead of UIText.
    • CmdEcho now goes through the command queue instead of calling UIText directly.
    • Used better normal vectors for triangles generated by the Raster3D cone routines. (will be used by others soon as well)
    • Changed CmdLogRead to work through the command queue instead of referencing vmdGlobal.uiText in startup.C and CmdUtil.C
  • VMD 1.5 Alpha 2 (4/07/2000)
    • UIObject::update method is now removed, functionality has moved into the VMDupdate routine.
    • Tools update themselves using the virtual prepare() function since they are Displayables.
    • VRPN code now calls its mainloop function more frequently rather than checking to see if we've done so already. Changed the update() routine's parameters.
    • Fixed a missing VMDIMD ifdef
    • Display commands are now put directly into the display list data areas rather than being copied there in multiple steps.
    • Added cone primitives for Tachyon renders.
    • Made DispCmdCylinder more efficient by pre-computing the sinf/cosf values which are then re-used over and over again.
    • Fixed find_within to prevent cases where the min or max value is used before being set.
    • Fixed the very broken DispCmdSquare primitive
    • Tool selection button is now updated by listening for TOOL_REP commands instead of checking with the UIVR object.
    • Refactored Stage splitting it into a UIObject part and a Displayable part. VMDGlobal.stage is eliminated now.
    • Improved the efficiency of the Raster3D exported file size.
    • Improved the display of molecular surfaces with Raster3D.
    • Eliminated the "formsInitialized" static int by making an explicit call to queue_events() at startup.
    • Added new Gromacs compressed trajectory support.
    • Fixed PR 88 (deleting a range of frames doesn't force a recalc)
    • Fixed PR 96 (Alpha doesn't write X-PLOR DCD files properly)
    • Implemented completely new surface rendering primitives and new OpenGL vertex array code, runs up to 30% faster than previous versions of VMD when rendering MSMS or Surf surfaces.
    • Fixed array bounds write problem found by Purify.
    • Fixed PR 95 (Alpha crashed on load of reverse-endian Charmm format DCD)
    • Refactored the IMD-related classes to be much cleaner and more elegant. IMD molecules now work more like a regular molecule. Any molecule can become an IMD molecule potentially. When an IMD connection is made, it is done to whatever molecule is currently the "top" molecule.
    • Added support for reading of more Gromos/Gromacs file formats in VMD.
    • Added a new LP64 configure option to allow 64-bit builds of VMD on platforms that can build either 32-bit or 64-bit binaries. This will make it possible for us to build a 64-bit VMD on IRIX, Solaris, and other platforms.
    • Re-enabled CAVE config option for IRIX6 OpenGL builds, since the memory leak appears
    • Fixed PR 94 (draw isn't working properly in some scripts).
    • Added first round of support code to make VMD work with FreeVR.
    • Fixed PR 89 (Postscript renders crash VMD 1.5a1) by rewriting several parts of PSDisplayDevice.
    • Fixed PR 92 (Mouse form save config didn't work on Windows 95/98/NT)
    • Fixed PR 90 ("menu mouse on" doesn't work) The Mouse now registers with the UIList as MouseInterface instead of just "mouse". This eliminates a conflict with the Mouse form and fixes PR 90.
    • Got rid of command logging to the Tcl variable "vmdlog".
    • Fixed problems with PSDisplayDevice so that it works with the new DispCmd data structures.
    • Fixed some small memory leaks, and cleaned up some things that were upsetting Purify.
    • Made installshield installer part of CVS tree.
    • Eliminated a bunch of dead code that used to be in VMD in support of early Tk based GUIs.
    • Updated MSMS interface to search a much greater range of port numbers when starting a new MSMS process. This prevents VMD from exhausting its range of ports when running MSMS on trajectories.
  • VMD 1.5 Alpha 1 (3/17/2000)
    • Fixed PR58 (stride/cartoon rep wasn't working on Windows 98)
    • Changed OpenGLDisplayDevice to allow SGI O2 machines to run in a 16-bit depth buffer, 12-bit color, stereoscopic mode.
    • Removed the update() method from FormsObj classes
    • Eliminated unused methods in UIList
    • Eliminated more old MDComm code.
    • Updated FLTK and VRPN builds to use -compat=5 for Solaris2 builds.
    • Updated the "makeworld" script to do installs as well as builds.
    • Fixed PR87 (number of frames was incorrect in Mol form.)
    • Changed some pointer casts const-correct, this lets us use the LANG:alias_const flag to be set without warnings on IRIX. (potentially yielding better performance)
    • Refactored the Animation class into a hierarchy of three classes.
    • Fixed typo in GLRenderer.C
    • New multmatrix function which is MUCH faster than the old one, a factor of 2 to 7 times faster depending on the platform.
    • Improved various const-correctness issues found on Solaris with -compat=5 build flag.
    • Refactored the Animation and BaseMolecule classes so that Animation is now a member of BaseMolecule rather than its parent. Animation methods are named much more descriptively now as well.
    • Refactored the MoleculeList and DrawMolecule classes. MoleculeList is no longer a Displayable, only a ColorUser. DrawMolecule registers with the global Scene, derived classes no longer have to take a Displayable or Scene in their constructor.
    • Animation objects now register themselves with the Scene and receive notifications to update their frame when the time comes. DrawMolecule now has no work to do at prepare or render time. Would like eventually to make DrawMolecule no longer a Displayable and pull Animation out of the Molecule class hierarchy; these changes are a step towards that goal
    • Fixed other half of PR79, file renderers are now properly drawing the stereo image. This will work fine with OpenGL, GL, or CAVE main display devices now, but -dispdev text will not process stereo state yet. We'll need to rewrite things in order for -dispdev text to work with stereo.
    • Fixed PR10 (OpenGL VMD ignored ambient, diffuse, specular settings).
    • Fixed PR23 (molinfo $mol set frame NN, didn't update the display).
    • Fixed PR7 (changing atom info didn't update the display).
    • Fixed PR19 via previous improvements made to the MSMS interface code. When the BioCoRE team re-tested it with appspector, it did not exhibit any problems, so the bug is now closed unless we hear otherwise.
    • Fixed PR64, vmdinit.tcl needed some minor changes in order to deal with directories that had spaces in their names as far as the auto_path stuff went.
    • Closed PR29, since it is not a documented behavior of VMD and doesn't really appear to be a "bug" per se, but is definitely a minor change in behavior relative to previous versions.
    • Closed PR5, because the light button bug in XForms will never be fixed, its out of our hands. Since we're no longer using XForms at all, this bug is now essentially irrelevant.
    • Fixed PR68 (light positions incorrect in exported scenes, and badly drawn light direction lines).
    • Improved the Windows BMP writer code with more efficient disk I/O, and changed both the Unix and Windows branches of the code to print warnings when things fail, older revs failed silently.
    • Wrote first version of new snapshot code to write Windows BMP files for the Win32 versions of VMD. Future versions of VMD should allow the user to select a file format that they prefer rather than having no choice. This version works fine, but needs to write the output a little faster than it does currently, will eventually replace putc() with fwrite() on larger buffers.
    • Implemented a new grid search code which is the basis for new bond search algorithm, and can be used for atom selections and other purposes.
    • Eliminated a few more leftover MDComm data structures.
    • The Geometry form can now display the "value" of a label in appropriate circumstances.
    • Fixed PR83.
    • Fixed a bug in IMD that could potentially cause crashes when saving forces into trajectories.
    • Forces are now saved along with simulation trajectories.
    • Fixed an Uninitialized Memory Reference.
    • Fixed PR81.
    • moved Light, LightList, and ColorList functionality into the display device code.
    • DisplayDevice now keeps track of which eye is to be drawn so that FileRenderer can set the correct stereo eye position, as reported in PR79.
    • First round of fixes to file renderers to allow them to support correct rendering of scenes when stereo views are enabled, still need some additional tweaks though.
    • Began changes to the FileRenderer class to make up for the elimination of of the default render() method in the DisplayDevice base class.
    • The use of TclX in VMD can be disabled more easily now. Eventually we should be able to build VMD without using any TclX functionality, which will trim down the size of the program.
    • Reworked the organization of the Tachyon file renderer.
    • Improved error messages when file renderers fail to create output files.
    • All HP-UX builds of VMD are now done with the HP "aCC" compiler rather than the older "CC" compiler.
    • All distributed binary versions of VMD are now built using FLTK instead of XForms. A nice side effect of this is that the Unix and Windows GUIs are now exactly identical.
    • Alpha (OSF1/Tru64 Unix) versions of VMD are now built using the Compaq "cxx" compiler by default instead of the GNU compilers.
    • Completely rewrote the STL display device code, new code is much smaller, cleaner, and now behaves like other FileRenderer objects.
    • Some significant work on improving the MSMS interface code, in preparation for changing it from using raw BSD sockets code to using vmdsock, which is more portable.
    • Eliminated several unused display tokens (DCLEAR, DTRANS, DROT)
    • Fixed a minor configure nit that created makefiles that the SGI make utility didn't like.
    • Eliminated quaternions from the Displayable, which was causing bugs in the use of the haptic feedback / tracking. PR 78
    • New display list code that should work in environments like that cave where the display lists have to be stored in shared memory.
    • Migrated all of the popup menu features into a new Mouse form which presents the same functionality. Eliminated the old popup menu code as a result.
    • Eliminated all of the remaining popup menu code.
    • Rebuilt tcl/tk/tclx/Mesa-3.1 with the new gcc 2.95.2 compiler, and on the newer linux systems, using updated XForms library 0.89 for the new glibc. These changes are required in order to successfully build on the newest versions of Linux.
    • Updated Solaris X86 compile flags to allow builds with newer revs of gcc/g++ despite issues with old X11 header files. Also raised the optimization flags for the plain C files.
    • Updated configure.options.OSF1.opengl so that VMD will link correctly on Alphas using the Compaq/DEC OpenGL libraries, which are only available as dynamic link libraries.
    • Build settings for Windows now enable the IMD option by default.
    • Fixed a bug in the DCD readers on Alpha, was giving FP exceptions when reading opposite endianism DCD files before.
    • All Linux builds are now done on a RedHat 6.x system.
    • Updated the vmdsock code to work on Windows 95/98/NT, so that IMD now works on the Windows version of VMD.
    • Fixed PR 76 - IMD got incorrect endianness when running on some architectures.
    • Scene is no longer derived from PickList, a PickList item is now part of vmdGlobal where all Pickables now register themselves.
    • Fixed unchecked status code when reading PDB files.
    • Fixed PR 75 - odd lighting on lines/points/text in graphics molecules
    • Major updates to all of the renderers to handle the new display list reorganization.
    • Rewrite of the display commands, new VMDDisplayList class.
    • Updated configure script version to be "1.4.1a1" just in case we decide to make a "refresh" release rather than wait until 1.5 is ready.
    • Filled in the msvc build area with additional files which were used in building the VMD installers and self-extracting WinZips etc. This should make it possible to build the VMD installers by unpacking the appropriate Zip files and such.
    • Fixed a number of small memory leaks identified by Purify.
    • Partial fix to PR 68, FileRenderList wasn't initializing its colorList properly.
  • VMD 1.4 final release (January 7, 2000)

Please email any questions to vmd@ks.uiuc.edu.