home *** CD-ROM | disk | FTP | other *** search
- 1.4.1 November 9, 1993
-
- Distribution includes both NeXT and SGI versions.
-
- New modules included:
- crayola (SGI and NeXT) coloring program
- warp (SGI and NeXT) interactive object warping
- ndviewer (SGI only) N-dimensional viewer (currently only 4D objects)
- cplxview (SGI only) graphs of complex functions
- clipboard (SGI only) cut, copy and paste objects
- drawbdy (SGI and NeXT) find and draw the boundary of an object
- flythrough (SGI only) Not Knot hyperbolic
- gvclock (SGI and NeXT) 3D clock, demonstrates real-time motion
- maniview (SGI only) 3-manifold viewer
- trigrp (SGI only) explore triangle symmetry groups
- plus source for all the existing modules.
-
-
- Documentation:
- New manual! doc/geomview.tex (TeX version) and doc/geomview-*
- (GNU texinfo version) explain Geomview in far more detail than
- previous documentation. They strictly describe Geomview on the Iris,
- but much also applies to the Next.
-
- Configuration:
- SITE makefile variable selects one of several site-specific
- configuration settings, namely installation directories for binaries
- (BINDIR), manual pages (MANDIR), and Mathematica scripts
- (MMAPACKAGEDIR). Settings stored in
- makefiles/mk.site.{default,private,public}. ``make instprivate''
- and ``make instpublic'' are ``make install'' variants that use the
- latter two.
-
- Prevent 'make' from failing if C++ compiler isn't present; just don't
- compile the C++ programs.
-
-
- Geomview, General:
-
- Extend implementation of conformal transformations.
- Conformal mode, which had been allowed only in hyperbolic space,
- is now also meaningful in Euclidean space, where it amounts to
- inversion in the unit sphere, and spherical space, where it's
- a stereographic projection from the 3-sphere into Euclidean 3-space.
- New command (set-conformal-refine).
-
- Read both ~/.geomview and ./.geomview, in that order.
-
- New -noinit command-line option suppress reading all .geomview files.
-
- Implement Olaf Holt's design for N-D viewing by projection.
- New commands (ND-axes) (ND-xform) (ND-color).
- (Invoked by ndviewer and cplxview modules.)
-
- Keep track correctly of which window the mouse is in.
- Had sometimes gotten confused if a window was uncovered.
-
- Allow disabling "override" status. New Override button & (ap-override)
- command selects whether appearance controls should suppress
- objects' own settings, or just provide default values.
-
- New (camera-prop) command allows setting the object used to show cameras
- when "Draw Other Cameras" selected (e.g. see file "camera-frustum").
-
- Mention Next variants to mouse usage (alt + left = middle, etc.)
- in Help message.
-
- SGI Interface:
- Add transparency controls to materials panel.
- (No transparency supported on NeXT.)
-
- Color picker has numeric RGB input.
-
- Buttons for motion controls (Obscure) and Override control (Appearance).
-
- Add focal length and software shading controls to camera panel.
- "vl" keyboard shortcut sets camera focal length.
-
- Limit picked projected Z values to -1 .. +1, so we can only pick things
- that lie between the clipping planes!
-
-
- Motions:
- Really stop motions of objects when we reset them.
-
- Controllable inertia, constrained motion, own-coordinate-frame motion
- ('ui', 'uc', 'uo' key sequences).
-
- Make more use of the ``focal plane''. Look At button sets focal distance.
- Shift-rightmouse-click selects a focal point; also becomes center of
- rotation. Translations are interpreted as at the focal plane,
- so objects at the focal distance should move with the mouse.
-
- Use ordinary, no longer scaled, translations.
- Let the scaling be based on the frame camera's focal length,
- set e.g. by Look or etc. operations.
-
- Pay attention to window aspect ratio and camera focal length when moving.
-
- Add more parameters to (look-encompass-size ...) indicating desired margins
- for setting near and far clipping planes.
-
-
- Geomview, Graphics:
- Pay proper attention to override bits in Next and RenderMan drawing
- libraries; ensures that objects will be the color chosen on the panel.
-
- Position SGI windows in exactly the specified place.
-
- Draw degenerate polylist (OFF) objects correctly for Next and RenderMan:
- use points and lines where they have 1- or 2-vertex "faces".
-
- Correctly handle lights whose positions don't lie within the model space
- (as the default lights are) in hyperbolic & spherical shaders.
-
-
- Geomview, Saving:
- Save window positions when saving cameras in command form.
- Use a unique name when saving geom objects as commands; avoids the problem
- of saving as object X and having it automatically renamed X<n> in case
- of conflict, making further commands ineffective.
-
- Geomview, RenderMan:
- Include both NeXT and SGI (etc) standard shader directories; we don't
- know where .rib files will be rendered.
- RenderMan saving no longer enforces adding four-digit numeric suffix.
-
- Geomview, Communications:
- GCL command files containing multiple commands now work sensibly:
- geomview always reads entire contents, one command per display loop.
- (Use (progn ... ) to swallow all at once.)
-
- emodule-run command: all e-module directories are appended to $PATH
- when the program is started, so emodule-run may mention module programs
- without requiring full pathnames.
-
- Both SGI and NeXT versions can read from either named pipes or UNIX-domain
- sockets; -M[gc][sp] command-line option specifies data type and
- communications mechanism.
-
-
- Software shading now implements fog; density set by lighting attenconst.
-
- External-module programs are invoked by their full path names when possible.
-
- Allow L)ooking at cameras.
-
- Allow reading either geometry or commands from either UNIX-domain sockets
- or named pipes, using '-M[gc][sp] name' command-line option.
- (camera-prop) command specifies how to draw other cameras.
- (cursor) command (for SGI) controls GL cursor and/or loads from .pbm file.
- (setenv) command allows setting environment of e.g. external modules.
-
- Assorted bug fixes.
-
-
- Utility programs:
-
- New programs ucdtooff, anytoucd convert AVS "UCD" format to/from OOGL.
-
- Anytooff accepts (multiple) arguments, and combines their contents.
-
-
- Mathematica to OOGL software:
- Improve installation document; be more robust about locating math2oogl,
- geomview, etc. executables, and warning the user if we can't.
- Allow specifying user name when displaying on remote host.
- Don't fail if graphics contain complex values (just plot real part).
- New BezierPlot[] in BezierPlot.m allows plotting Bezier patches directly.
-
-
- FORMS:
- Include FORMS-2.0-PATCHES, all differences from FORMS 2.0 release.
- Change summary:
-
- FORMS Library:
- New color-picker module.
-
- New fouraxis module, derived from positioner.c.
- Allows specifying a direction in 4-space.
-
- Be more intelligent about frozen forms: only redraw if
- some object changed while the form was frozen.
- Use the sign bit of the form->frozen field to tell.
-
- Add '@I' prefix to embed FL_ICON_STYLE (symbol font) items in a browser.
-
- Tie mouse (x,y) position to all mouse clicks. Use this to ensure that we
- always register a mouse click in its correct position, not the place where
- the mouse lies when we get a chance to read it!
- Click position is fed to the next caller to ask for the mouse position
- after a click; later calls read the live mouse position. Seems to work.
-
- Cache stuff as much as possible. Don't load fonts or read color map unless
- (until) we actually need them. Might allow programs to start up at
- a reasonable speed, since the SGI font manager is slower in 4.0.x than 3.3.
-
- Handle Icon font usefully -- use the Symbol font, and allow it to be scaled.
- Accommodate new font-sizing rule in IRIX 4.0.5: fonts are now
- scaled to constant real size rather than constant size in pixels.
- On IRIX 4.0.5 or greater, we discover the error this will cause and
- scale all font sizes by its reciprocal (!).
-
- Optimize drawing bitmaps. Cache fl_getmcolor() values; use pointers to
- scan input & output pixel arrays. ~sixfold speedup. Save 64K data size.
-
- FORMS designer:
- Add fdesign2c, batch-mode translator from *.fd to *.{c,h}.
- Added colorwheel and fouraxis objects.
-
-
- 1.3.2 March 1, 1993
-
- Fix RenderMan file saving bug.
- New OOGL classes: discrete groups and spheres.
- Underlying support for stereo added.
- Fix replace world bug.
- Rotate about CENTERID, not the target geom, in orbit mode.
- Add slow-motion controls (invoked with Shift key).
- Scaled translation procedures now take world size into account,
- not distance from target object. Use this mode in fly and orbit.
- Add "emodule-defined" command: returns the given emodule's
- shell command (& tests whether any such is defined).
- Add cull-backface as a command.
-
- 1.3.1 January 31, 1993
-
- IMPORTANT: the "pick" command has changed completely and is
- incompatible with previous versions. If you have an external
- module that uses the "pick" command you should change it to
- use the new "interest" command instead. Send us email
- (software@geom.umn.edu) if you need assistance.
-
- Change the way system-dependent information is specified;
- everything is now specified in the "geomview" shell script
- which sets environment variables and then invokes the binary.
- Nothing that is system-dependent (e.g. pathnames) are compiled
- in; not even default values.
-
- External modules now appear in alphabetical order in the
- applications browser. Geomview finds out about them via files
- named .geomview-* in the modules directory, rather than in the
- system-wide .geomview file. So there is no need to edit the
- system-wide .geomview when installing a module now. See
- man/cat1/geomview.1 for more information on how to install a
- module.
-
- The space browser is now on the main panel.
-
- Different models of hyperbolic space are now available: virtual
- (the insider's view of the projective model), projective (outsider's
- view), and conformal-ball. The conformal-ball model is only partially
- implemented; it works only for polylist (OFF) objects and only in
- constant-color and smooth-shading modes (not in flat-shading mode).
- The model is per-camera attribute and is settable via a browser in
- the camera panel.
-
- The camera, when drawn, now fits inside the unit sphere.
-
- Fixed RenderMan saving bug: file is now opened properly.
-
- "Fly" mode now uses scaled z-translation.
-
- A color wheel replaces the RGB sliders for picking colors.
-
- Several "look" functions added for positioning a camera to look at
- an object. "Look At [L]" button added to tools panel positions
- the current camera to place the target object nicely in the view.
- Look At and look-encompass compute and use a bounding sphere for the
- object rather than using its bounding box.
-
- Add "Orbit [o]" mode. Like fly mode, but rotates the camera
- about the center of the selected object.
-
- Better error reporting; syntax errors in input files are now reported
- with messages including the input line where the error was detected.
-
- Picking code improved; picking now works in more cases than before.
- Still broken if any part of any object is behind the camera plane.
-
- Null geoms now allowed, denoted { }.
-
- Added "interest" command which allows external modules to
- express interest in a command; the module is then notified
- whenever geomview executes the command. Useful for modules
- that need to know when things in geomview happen.
-
- Reduced sensitivity to accidental mouse twitches -- it's now
- easier to make an object stop moving.
-
- Motion now proceeds wrt real elapsed time. transform-incr
- allows specifying rate of motion.
-
- Control over when commands are executed: sleep-for, sleep-until,
- clock, set-clock, time-interest commands.
-
- A "load" command simplifies reading files.
-
- Added stereo viewing support: hardware, crosseyed, red/cyan modes.
- (An external module is needed to control it.)
-
- Lights may be specified (from command language only) in camera or
- object coordinates, as well as world coordinates. Allows depth cueing.
-
- "emodule-transmit" command allows sending messages to running modules.
-
- "real-id" gives an object's canonical name.
-
- "all" gives a list of all items (geometry, emodules, ...) of a kind.
-
- "soft-shader" selects whether to use new software shading.
- New "v~" keyboard shortcut does, too.
-
- "echo" can be used to print results of evaluating lisp expressions.
-
- Now reads all commands from command files; used to sometimes read
- only the first command.
-
- Modules may continue sending messages after being killed.
- Modules receive SIGHUP signal when killed.
-
-
- 1.2.3 October 22, 1992
-
- Geomview:
- Add outside-hyperbolic space mode ("mo" keyboard shortcut).
- "mh" still selects a view inside hyperbolic space.
-
- A "spherical" language keyword ``(space spherical)'' is now recognized.
- Implementation of spherical motion is improved.
-
- Do a better job of adjusting camera setup when switching spaces.
-
- The first directory in the "Files" browser is initially selected,
- so its files are visible when the panel is first displayed.
- (This directory is the first one given to "load-path", by default ".").
-
- A new "Vects" button and "aV" keyboard shortcut select whether
- vect objects (lines and points) are visible; they're now controlled
- separately from polygon edges.
-
- Make hyperbolic translation behave better when the center-of-motion
- is literally "target" (the default); such translations are now along
- an axis through the origin, avoiding spurious rotation.
- If "center" is anything else, it's taken at face value.
-
- Use color to indicate status of Appearance-panel buttons:
- highlighted yellow when true, gray when false.
- Buttons lie flat on the panel if they've never been changed,
- and depressed if they have been. (The "Revert [ax]" button restores
- the never-set status, and shows objects as they naturally appear.)
-
- Add half-baked transparency: "aT" keyboard sequence.
-
- Fix supersensitive behavior of Applications browser;
- running modules now appear in boldface red.
-
- Add "-nopanels" command-line option.
-
- trigrp:
- Switch between euclidean and hyperbolic space when changing groups.
-
- FORMS library:
- Adapt to new IRIX 4.0.5 font manager's sizing behavior.
- Since FORMS panels are fixed in pixel units, we rescale fonts
- to be constant pixel size rather than 4.0.5's constant real size.
- [Still works on older systems.]
-
- External modules in general:
- A list of all external-module definitions is now kept in
- "data/.geomview-modules"; it's automatically updated when
- new modules are installed in the geomview binary directory.
- It's also safe to edit this file by hand.
-
- General distribution:
- Distributed files are now writable by the owner, to make it
- easier to apply upgrades. Once this 1.2.3 distribution package
- is installed, it should be possible to install future distributions
- without being the superuser, since "tar" will be able to overwrite
- the old files.
-
-
- 1.2.2 October 3, 1992
-
- Geomview:
- Repaired ANSI C incompatibilities -- this version compiles
- under Irix 4.0.4.
- Several memory leaks were fixed.
- Don't corrupt memory when new-geometry command is used.
- Avoid crashing when a camera is deleted.
- Bezier patch dicing level is now properly recorded and
- applied to newly loaded Bezier objects.
- Bezier's saved in RenderMan format are written as true patches,
- not polygonal meshes. Texture coordinates also saved for STBBP's.
- Don't lose commands sent by external modules just before they die.
- Don't continuously redraw the display when camera drawing is on.
- Make hyperbolic translation, which was approximately correct, exact.
- Repair "position", "position-at", "position-toward" commands.
- Fix -b (background color) command-line option.
- Added performance metering (control-T keyboard character).
-
- Libraries:
- New libformsx.a library has some handy FORMS-related functions:
- enabling/disabling objects, reading numbers from input fields, etc.
-
- Maximum Bezier degree is now 12 rather than 6.
- Bounding boxes of Bezier patches now at least fairly meaningful.
-
- Avoid crashing when encountering erroneous OFF files.
-
- Invert the sense of QUAD normals to be consistent with other objects.
-
- Makefile configuration:
- Removed "make lib" warning in multiple-source library directories.
- Ensured that the FORMS library is installed by the time it's needed.
-
-
- 1.2.1 September 17, 1992
-
- Fixed a problem with src/lib/forms/Makefile which prevented
- successful compilation on systems that don't already have the
- FORMS library installed.
-
- 1.2.1 is not really a new release --- it's just a re-packing
- of the tar file with a new src/lib/forms/Makefile.
-
- [ Details of the problem: modified src/lib/forms/Makefile so
- that it installs libforms.a in bin/sgi upon "make all"
- rather than just "make install". This is now consistent
- with the way the other .a files are installed, and fixes a
- problem which prevented successful makes on systems that
- don't already have FORMS installed. In previous releases
- libforms.a was installed by geomview/gl/O.sgi/Makefile
- before it attempted to link geomview; in 1.2, however, the
- "example" program links with libforms.a but doesn't install
- it first. Since "e" comes before "g", "example" is compiled
- by "make all" before geomview, with the result that the
- compilation fails since libforms.a is not yet in place.
-
- I created geomview-1.2.1.tar.Z by unpacking the 1.2 tar file
- into a fresh dir, replacing the files ./src/lib/forms/Makefile
- and ./CHANGES (this file), and re-packing. ]
-
-
- 1.2 September 4, 1992
-
- Panels
- ------
-
- New iconic tool panel replaces parts of old main panel.
-
- "Zoom" now changes camera field of view: add "scale" to change size of
- geometry. (Can also change apparent size by z-translating object or
- camera.)
-
- Reorganized panels. Camera panel has camera-related things, appearance
- panel has geometry-related things. Obscure panel now only has
- normalization and space things.
-
- Add save panel. Now through user interface can save: Renderman or .sgi
- snapshot, text file of commands, geometry, cameras, transforms,
- windows for any (or all) objects, and position information for all panels.
-
- Appearance controls now override all lower levels (before if lower
- level had appearance of its own it was left unchanged). Added revert
- button to appearance panel.
-
- New "?" button on main panel same as "?" keyboard shortcut (dumps
- keyboard shortcut summary to tty).
-
- Add "CSmooth" mode to shading browser of appearance panel.
- This is a constant-shaded style (shading depends only on vertex colors,
- not on lighting) but with smooth interpolation where colors vary across
- a face.
-
-
-
- Keyboard Shortcuts
- ------------------
-
- Lines-closer shortcut "ac" now also "vc" since it's a per-camera
- option at the moment.
-
- Add backface culling (only accessible through keyboard toggle "vb").
-
- "g" keyboard prefix now picks world not most recently picked geometry.
-
- "." new prefix for target object, i.e. "self".
-
- "P*" keyboard shortcut to bring up panels.
-
- "[se|sh]" shortcut changed to "[me|mh|ms]". (m for metric since s for
- space got taken over by "scale").
-
- "TV" toggles NTSC video mode.
-
- "vs" toggles single vs. double-buffered windows.
-
-
- Commands
- -------------
-
- Add complete help messages for all command language functions and new
- commands "?" and "??".
-
- The syntax of the write command has changed. See geomview.5.
-
- Added position, position-at, position-toward commands.
-
- Added rawevent, winenter, freeze commands (intended for development
- not for general use.)
-
- External module command name changes:
- emodule-define is the new name for ui-emotion-program.
- emodule-start is the new name for ui-emotion-run.
- emodule-run is the new name for "|".
-
- Eliminated ui-emotion-modename: awkward event-shipping to external
- modules. More useful access to functionality that is presently hidden
- internally is under development now.
-
-
- Motion
- -------
-
- Totally new motion paradigm. Most old functions are mimicked. New
- functionality added. Can now specify a center of motion (orbit mode
- used to be camera around center of world: now can be any object
- orbiting any other object. See "ui-center" command.). Can specify
- rotations and translations in x, y, z instead of a raw 4x4 matrix (see
- "transform*" commands).
-
- Fly mode changed yet again: now left mouse rotates camera, middle
- mouse flies camera forward/backward.
-
- Flight Sim mode eliminated.
-
-
-
- External Modules
- ----------------
-
- Distributing external modules separately from geomview proper, except
- for a few examples.
-
- Added example external module with accompanying tutorial document.
-
- Improved handling of external modules; can now run multiple concurrent
- modules and can finally terminate them. See command language changes above.
-
- External modules MUST now run in the foreground, lest geomview think they've
- died. FORMS/GL modules need to call foreground(). See emodule-run
- documentation in geomview(5).
-
- Do a better job of killing off external modules when geomview exits
- and suspending them when geomview is suspended.
-
- Can now invoke external modules from geomview's command line and can
- pass (globbed) parameters through to their command lines.
-
-
-
- Geomview general
- ----------------
-
- Better Renderman support, especially for automated generation of movie
- frames. Can specify whether to render directly to framebuffer or to a
- tiff disk file. Can give file prefix which is then autoincremented on
- each Renderman snapshot. Tiff file name is constructed from rib file
- name (used to always be called "image.tiff").
-
- Snapshot pops window to prevent obscuration, and redraws in singlebuffered
- mode to minimize dithering artifacts, and to avoid a "scrsave" bug which
- sometimes caused the previous image to be saved.
-
- In hyperbolic mode the camera starts out inside the sphere instead of
- outside the sphere, and the bounding sphere is not automatically drawn.
-
- Add spherical space mode.
-
- Add new special id's: self, universe, primitive (for coordinate systems).
-
- Pick data can be written in any of several coordinate systems.
-
- Make picking work on views with dedicated scenes.
-
- Better camera geometry for default camera drawn. (Development feature
- that may change in the future: uses "cam.oogl" file instead if it
- exists.)
-
- Number new objects according to their id, so camera c2 == "Camera<2>",
- etc.
-
-
-
- OOGL
- ----
-
- Better error detection and recovery in OOGL loading rountines.
-
- Added method extension mechanism for geom objects.
-
- Various internal reorganizations --- renaming variables, etc.
-
- Added support for variable-length arrays (vvec's).
-
- Added geom transform methods.
-
- Print a useful error message if a camera file can't be found.
-
- Fixed binary mesh loading bug; binary meshes now load properly.
-
- Fixed bug which caused sometimes-wrong screen z computation associated
- with picking.
-
- Fixed picking of closed VECT object.
-
- Don't draw VECTs when edge drawing is off.
-
- Objects loaded from files are no longer tied to the contents of those files;
- the sequence "load object, change file, load other object from same file"
- now yields two distinct objects, not two identical copies of the new version.
-
- General
- -------
-
- Made source code more ANSI-compliant.
-
- Many optimizations; code runs faster.
-
- Fixed bugs assocaited with communication via pipes; close them
-
- Fixed bugs associated with reference counting and memory
- allocation and freeing.
-
- New configuration setup; more robust
-
- Overhaul Makefile structure; rely more on common Makefiles
- referenced via "include"
-
- Completely new lisp interpreter; much more general and easier to
- use than previous version. See the man page man/cat3/lisp.3 for
- details.
-
- Fixed various minor bugs.
-
-
-
- Known problems:
- ---------------
- Spherical mode doesn't work on VGXes.
-
- Zoom and Scale have no inertia.
-
- Constrained motion (to X or Y axis) no longer works.
-
- Sometimes core dumps on bad input files.
-
- -------------------------------------------------------------------------------
- 1.1 May 27 1992
-
- Slightly better documentation; lang.doc renamed geomview.5.
- Four more sample external modules added.
- Control panel settings override objects' own appearances.
-
- Object vertex/edge/face picking (rightmouse), w/command-language feedback.
- New flight-simulator motion mode.
- More state-saving operations, 'write' and 'snapshot' language commands.
- Command-language control over windows & panels (placement, visibility).
- Can save scenes in RenderMan .rib format.
-
- Many bug fixes including:
- Memory should now be freed properly when objects are deleted.
- Code now compiles under IRIX 4.0.1 ANSI C.
- Input panels now accept input properly under 4.0 (input focus bug fixed).
-
- Known problems:
- IRIX 4.0 remote display (DGL) doesn't work; geomview must run on the
- machine where it's displaying.
-
- -------------------------------------------------------------------------------
- 1.0.1 February 25 1992:
-
- Miscellaneous minor bug fixes
- Slightly better documentation
-
- -------------------------------------------------------------------------------
- 1.0 January 31 1992
-
- initial release
-
-