# $Id: RELEASENOTES,v 1.13 2004/04/18 21:50:08 wes Exp $ # Version: $Name: OpenRM-1-5-2-RC2 $ # $Revision: 1.13 $ # $Log: RELEASENOTES,v $ # Revision 1.13 2004/04/18 21:50:08 wes # Updates for 1.5.2 # # Revision 1.12 2004/01/19 20:28:44 wes # Add version tag. # # Revision 1.11 2004/01/19 20:27:45 wes # more 1.5.1 updates. # # Revision 1.10 2004/01/19 17:09:21 wes # Updated status on rmOctmesh rendering routine. # # Revision 1.9 2004/01/17 04:00:35 wes # Updated releasenotes for 1.5.1 # # Revision 1.8 2003/07/25 21:55:32 wes # More updates for 1.5.0. # # Revision 1.7 2003/07/14 02:18:39 wes # More 1.5.0 updates. # # Revision 1.6 2003/05/05 13:40:17 wes # Update for rmNodeComputeBoundingBox fix. # # Revision 1.5 2003/04/12 19:48:03 wes # Updates for 1.5.0-alpha. # # Revision 1.4 2003/04/05 14:16:16 wes # Updates for 1.5.0-alpha. # # Revision 1.3 2003/02/14 00:14:48 wes # Split RELEASENOTES into two files: RELEASENOTES, for the current version, # and OLD-RELEASENOTES, for previous versions. # # Revision 1.2 2003/02/02 17:50:52 wes # Added bounding boxes to RMprimitives, as a supplement to node-level bboxes. # The RMprimitive level bboxes are needed for the retained-mode CR work. # # Revision 1.1.1.1 2003/01/28 02:15:23 wes # Manual rebuild of rm150 repository. # # Revision 1.17 2003/01/27 05:04:25 wes # Changes to RMpipe API and initialization sequence to unify GLX, WGL and CR # platforms w/o too much disruption to existing apps. # # Revision 1.16 2003/01/20 05:39:44 wes # Rewrote texture state handling code. # # Revision 1.15 2003/01/14 05:28:13 wes # Partial update for 150. # # Revision 1.14 2002/09/22 22:57:24 wes # Updates for v1.4.3 distribution. # # Revision 1.13 2002/06/17 01:13:35 wes # Updates for 1.4.2 # # Revision 1.12 2001/10/14 23:38:03 wes # v1.4.1 updates. # # Revision 1.11 2001/07/15 23:05:56 wes # 1.4.0-FCS releasenotes. # # Revision 1.10 2001/06/03 20:56:20 wes # v140-beta1 # # Revision 1.9 2001/03/31 17:13:47 wes # v1.4.0-alpha-2 checkin # # Revision 1.8 2000/12/04 00:31:22 wes # Added RM_FONT_DINGBATS problem description. # # Revision 1.7 2000/09/02 19:26:13 wes # Updated info re: default button/action mappings for RMdemo programs. # # Revision 1.6 2000/09/02 19:06:39 wes # For rm130 release. # # Revision 1.5 2000/05/17 14:35:01 wes # Partial update for 1.3.0. # # Revision 1.4 2000/04/27 03:13:58 wes # More 1.2.1 updates. # # Revision 1.3 2000/04/22 01:44:23 wes # OpenRM 1.2.1 updates. # # Revision 1.2 2000/04/20 17:43:28 wes # OpenRM 1.2.1 updates. # # Revision 1.1.1.1 2000/02/28 21:29:40 wes # OpenRM 1.2 Checkin # April 18 2004, v1.5.2 --------------------- New Features and API Changes in v1.5.2 -------------------------------------- 1. Addition of several new indexed primitive types. These include: - RM_INDEXED_QUADS - RM_INDEXED_TRIANGLES - RM_INDEXED_TRIANGLE_STRIP - RM_INDEXED_TRIANGLES - RM_INDEXED_TRIANGLE_STRIP 2. Addition of the (long overdue) RM_QUAD_STRIP primitive. 3. New API routine: int rmPipeGetFrameNumber(const RMpipe *) Returns an integer value that is incremented each time you call rmFrame on a given RMpipe. 4. New API routine: RMenum rmNodeRemoveAllPrims(RMnode *toModify) Will remove all RMprimitives from an RMnode in one call. 5. Minor code enhancements (thanks to D. Bunzli for suggesting them) - rmVismapDup - added check for NULL from rmVismapNew, report failure with rmError is one occurs and return NULL. - rmCamera3DNew - added a call to rmDefaultCamera3D so that all fields are initialized to valid values. 6. new RMdemo program named indexedPrims2D that exercises each of the above new indexed primitive types. 7. Updated the RMdemo program tfly to be much more visually appealing and to test the new RM_QUAD_STRIP primitive. 8. New Gordo demo program "lightModes" that exercises the light attenuation parameter, as well as exercising lots of other lighting parameters. 9. Support for additional build targets: - linux-x86_64, linux_x86-64_debug - linux-x86_32, linux_x64-32_debug Note: linux-x86_32 is the 32-bit ABI on 64-bit Linux distros. 10. Extensive overhaul of the RMdemo configure script to support builds on all currently supported platforms. - old -irixarch command-line arg replaced with -abi=[] arg. - new -abi=[] command line argument to select ABIs. Valid arguments to -abi are -abi=irix6-32 -abi=irix6-n32-mips3 -abi=irix6-n32-mips4 -abi=irix6-64 -abi=linux-x86_64 -abi=linux-x86_32 11. Irix builds: tweaked CFLAGS flags on irix to ignore more warnings - disabled warnings about variables declared but never used. 12. RM core builds - addition of a "make install" target. - Addition of "install" target. Default location is /usr/local/rm152. If you want to do an install somewhere else, edit $RM/Makefile and change INSTALL_DIR=/usr/local/rm152 to the desired value. The install target will copy over libs, headers and documentation. Bugs Fixed in v1.5.2 -------------------- 1. Repaired and tested MacOSX-X11 build targets. Both RM and RMdemo were compiled and tested on MacOSX-X11 for 1.5.2. 2. In-code documentation repairs (thanks to D. Bunzli for pointing them out) - rmiWriteJPEG() - fixed manpage documentation errors. - rmauxDefaultKeyFunc() - fixed manpage documentation errors. - rmVismapGetSize() - updated documentation. - rmVismapGetAlpha() - corrected documentation. - rmFinish() - fixed manpage documentation errors. 3. Lighting environment enhancement - activated the light attenuation parameter. Previously, you could modify the light attenuation, but the parameter setting was not honored during rendering. 4. Constant-rate rendering buglet - specifying a small number of frames per second, like one frame per second, would result in some incorrect and erratic frame timing. This issue has been fixed. Known Bugs ---------- 1. It is possible to overflow texture memory by using a texture that doesn't fit into memory. This condition will silently produce an error. 2. The tfly RMdemo doesn't propogate new window dimensions to the static "fly struct" inside rmauxFlyUI. Therefore, if you resize the window after the application starts, the resulting display will be incorrect. One approach is to create a new rmauxFlyResize function that fixes the camera and the cached window geometry dims. 3. nVidia drivers. The most recent batch of nVidia drivers - 1.0-53.36 released in Jan 2004 - contain fixes for a number of long standing bugs. With these drivers, offscreen rendering works (it does the right thing and won't crash your X server), and the rm2screen demo will exit cleanly as it should. That's the good news. The bad news is that the 53.36 drivers cause Chromium to crash. Specifically, the psubmit demo crashes. Since the OpenRM+Chromium demo programs use a similar initialization sequence, they too will prematurely die. The workaround is to use the 44.96 nVidia drivers for Chromium, and for Chromium+OpenRM. 4. We have not attempted to test the multibuffered stereo OpenGL context creation code on Windoze platforms. ToDo in 1.6.0: -------------- The next version will be 1.6.0 due to some expected small but noticeable changes to the API. - cleanse API for easier error detection. E.g., rmVismapGetAlpha returns a float value even if there's an error. It would be better to unify the return values from routines so that all return RM_CHILL on success or RM_WHACKED on failure. - change API on loader functions to use a fd rather than a filename (thanks to D. Bunzli for the excellent suggestion) - Fix problem where window resize in tfly doesn't propogate new window dims to the static fly struct inside rmauxFlyUI. One approach is to create a new rmauxFlyResize function that fixes the camera and the cached window geometry dims. - There has been a request for multitexturing support. - The callbacks attached to RMpipes should include an RMpipe * as part of the callback parameter list. - GLUT+RM demonstration programs and chapter in the RM Programming Guide. --EOF--