v0.60 - (mini-thesis release) v0.61 (workshop release) - added: rgl.sprites - added: fps counter - added: autoUpdate, modified win32 mainloop, on hide, autoUpdate disabled, on show enabled - modified material: added alpha vector v0.62 - modified sphere set - support R color strings - use system.file( , package="rgl" ) in examples to retrieve texture files - rewrote R code : * clear enum types * vertex vector datatype (internal representation matrix) v0.63 - api: added rgl_init, rgl_quit: explicit client initialization - added setup.bat: build setup for windows - win32 setup: mingw compiler - win32 setup: visual c++ compiler through gui environment v0.64 - autoconf build system - moved textures to inst/ directory - x11 port - win32/vc: fixed fpu control word precision to remain on 64 bit links with fp10.obj - changed texture mapping t coordinate for Surface node v0.64-2 - rgl.quads: enum id was broken, fixed ("quads" -> "quadrangles") v0.64-3 - configure.ac: X11 library path broken, fixed - x11gui: glXChooseVisual part fixed - code cleanup: rglview.h - added: man/maintainer.Rd maintainer information v0.64-4 - manual update - aquired valid CRAN package status, rcmd check runs through with 2 WARNINGS (acording to latex, and codoc) - uploaded to cvs v0.64-5 - MacOS X/X11 port v0.64-6 - updated build system: added setversion.sh - with MinGW version 3.0.1 pixmap loading does work - project.mk , win32.mk and x11.mk in src/build changed now a single variable MODS will extend. - MinGW build system changed. rgl.dll now contains an R compilant Resource information generated by R perl script - bug fix: R 1.8.0/win32 does not detach packages when quit it is safe now to call rgl_quit and lib_quit multiple times win32lib.cpp: added dllmain that calls rgl_quit on process exit - added core support for devcpp IDE v0.64-7 - added mouse capturing - rgl.sprites 'radius' bug fixed - memory leak bugfix: texture objects are now AutoDestroy and used through Ref's - resource management improvment: pixmaps gets free'd when they become unused e.g. texture objects are created. - no limitations on pixmap sizes - mipmap support - support for different texture minification and magnification filters v0.64-8 - build bugfix : removed rgl/src/Makefile - updated configure to check and setup LDFLAGS for OpenGLU library v0.64-9 - MacOS X 'Panther' G5 fix for OpenGL library loading in .first.lib - removed lpng and zlib from source tree - support for automatic downloading of zlib and lpng on win32 - added demo directory with several examples using demo(rgl) v0.64-10 - updated .C() calls using PACKAGE="rgl" - updated Maintainer.mk using correct zlib version - improved dynamic unload using library.dynam.unload() - conditional macos x darwin code in .First.lib() v0.64-11 - removed several redundant semicolons, required by gcc 3.4 ansi-pedantic mode. - win32: uses R's zlib and libpng sources - win32: added virtual destructor in Win32GUIFactory (removes warning) v0.64-12 - cran bugfix: permissions of cleanup fixed. v0.64-13 - DESCRIPTION fix: moved R 1.41 -> R 1.4.1 dependency v0.65 - simplified build system: uses 'R' build system - added generic visualization/rendering interface (R3D) - text justification from 0 to 1 - added primitive type: linestrips - fixed rgl.bringtotop, added stay option (win32) - added 4x4 matrix functions from djmrgl - added rgl.user2window and rgl.window2user functions - added user-selectable mouse handlers - added selection mouse handler - added trackball mouse handler - added z-distance sorted rendering of alpha-blended faces - added gl2ps patch ( contributed by Albrecht Gebhard ) - added port: native Mac OS X Carbon - bugfix: rgl.close() , rgl.quit() crashed on X11 occasionally. - generalized rgl.surface() to allow surface over any coordinate plane. - added r3dDefaults variable to allow user to set defaults - added environment texture-mapping v0.66 - added "all" and "viewpoint" to rgl.clear and clear3d - added static libpng build support and user customizable prefix (unix) - used xyz.coords in all functions taking x, y, z coordinates, allowing matrix or dataframe arguments (among others) - added par3d(skipRedraw=TRUE) to allow drawing to be done without being rendered - fixed display list memory leak when drawing shapes (e.g. spheres) - Changes for compatibility with strict enforcement of file naming rules in R 2.3.0. v0.67 - added support for png files with palettes, and grayscale pngs with 1, 2 or 4 bits per pixel - added "ignoreExtent" option to par3d: objects plotted when this is true are ignored when calculating the bounding box - added axis3d, axes3d, box3d, mtext3d, title3d functions from djmrgl for annotating plots. - added plot3d high level plot function - added material3d, which can both set and query material properties; changed most *3d functions so they leave material invariant across calls. - changed open3d() to set background and material defaults - added aspect3d to control the aspect ratio of the bounding box. - added xAxis, yAxis and zAxis mouse modes, set zAxis as r3d default. - added persp3d function - changed error messages to go through REprintf in X11 and OSX - fixed segfault if rgl_init failed - converted type of viewport arg in user2window and window2user calls - if the rgl_init call fails, the package will still load with a warning (but most function calls will result in errors). - added par3d("scale") to handle aspect3d operations internally. - added ellipse3d() generic and methods for drawing confidence ellipsoids - added decorate3d() to draw all the decorations, plot3d.qmesh3d() method. - changed zoom to use ratio scale over larger range - fixed bug causing jump after resize in Mac OSX (and maybe other platforms) - rgl.primitive now does sanity checks on inputs v0.67-2 - minor correction v0.68 - fixed sphere drawing so spheres are spheres regardless of par3d("scale") - added type="s" to plot3d to draw spheres - fixed handling of "..." in axis related functions - added full MDI support - removed use of List and ListIterator internally - fixed handling of axes and boxes when a coordinate had zero extent - changed rgl.viewpoint default to be compatible with r3dDefaults - added id return values to primitives and higher level functions, and to rgl.pop(); added rgl.ids() to report on them. - updated gl2ps to version 1.3.1, adding support for svg and pgf output formats. - added grid3d(), added nticks argument to bbox3d, axis3d and axes3d. v0.69 - persp3d partially ignored add=TRUE - plot3d.qmesh3d did not return result - allow selection to use any button - allow NA in primitives, surfaces, texts, and sprites - report error in OSX if the wrong configure options were used. - display was not being updated properly in OSX v0.70 - OSX now builds two libraries, one for AGL, one for X11 - resolve entry points at load time, not call time - updated gl2ps to version 1.3.2 - fixed bug in rgl.postscript in Linux, added text support to it - tweaked positioning of labels in bounding box decoration - snapshot3d wasn't being exported, and snapshots were from the back buffer - fixed bug that could cause crash on shutdown - moved this file (ChangeLog) to inst directory, so it will be installed, and added code to display it to the rgl help topic. v0.71 - changes to configure script from Laszlo Kajan and Brian Ripley: should now be much more portable - removed deprecated OSX font setting calls - texture properties are now returned by material3d() - allowed normals and texture coordinates to be specified in triangles, quads and surfaces - normals may be specified in qmesh objects, but (at present) subdivide removes them - material3d() now preserves the values of unspecified parameters (as documented, but not previously functioning) - clear3d() can now reset material properties to the defaults, and open3d() does this. - minor fix for gcc 4.3 compatibility - minor fix for R 2.5+ compatibility - allowed more general surfaces to be plotted by rgl.surface, surface3d and persp3d, by specifying matrices for x and y coordinates - added world map texture, used in example(persp3d) v0.72 - declaration changes for compatibility with R 2.6.0 (from Brian Ripley) v0.73 - partial changes to avoid crash on MacOSX with Xvfb - change to rgl_init for R 2.6.0 compatibility v0.74 - clean up #includes - clean up some calls for SunStudio 12 compiler - add rgl.setMouseCallbacks to allow user actions v0.75 - add play3d, movie3d, par3dinterp, and spin3d functions, with flag demo - rounding error could cause par3d(userMatrix) to generate NaNs and fail - workaround for Xvfb on MacOSX problems v0.76 - put our own assert() macro in place to avoid crashing R. - rename ChangeLog file to NEWS, as per discussion on R-devel - add "windowRect" to par3d parameters to allow window size to be controlled from R. v0.77 - par3d("windowRect") returned garbage if there was no window open. - persp3d() and plot3d() sometimes miscalculated ranges involving NAs. - select3d() and rgl.select() produced a very inefficient test function. v0.78 - fix miscalculation of mouseMatrix that caused disappearing views. - rgl.texts() and text3d() can now handle font and size specifications using the FreeType library on any platform, or GDI on Windows. - adj is supported both horizontally and vertically in drawing text. - rgl.pop was very slow when given a long list of ids. - a workaround for OSX 10.5 OpenGL problems has been incorporated (thanks to mkv22@cam.ac.uk). v0.79 - rgl.pop() could cause corruption when multiple windows were open. - added mouseCallbacks demo, to show R implementations of standard mouse handlers, multiple connected windows, stereo view, etc. - added "silent" argument to rgl.set(), to allow temporary changes to focus without changing window labels. - added natural spline extrapolation to par3dinterp. v0.80 - worked around bug(?) in Mac OSX FTGL rendering - updated FTGL to 2.1.3rc5 v0.81 - converted Freetype font error into warning - rglFonts was being set at install time, but it should be set at load time. - fixed configuration problems in OS X - fixed executable marker on a number of files v0.82 - rewrote internal rendering of transparent and anti-aliased shapes, so they will be rendered better when there are several in the same scene - added material properties "point_antialias", which causes points to be drawn as smooth circles, and "line_antialias", which causes lines to be antialiased. - fixed a bug in the bounding box decoration which caused axis labels to be plotted in the wrong place. - fixed a bug in the Windows driver which caused the standard system font to disappear when justified. - added material parameter lwd for line width; size now applies only to points. - increased default point size to 3 pixels across. - fixed bug in open3d: "..." was being ignored. - fixed bug in qmesh3d: homogeneous=FALSE coordinates were not handled properly. - movie3d gains a "type" argument to set the output type, and the "convert" argument is more flexible. - rgl.snapshot() gives more informative error messages when libpng is not available. - axis3d() now uses format() rather than as.character() to give nicer looking labels. - the clipping volume calculation was incorrect when scaling was used. - use R warning() to report messages, rather than popups or REprintf. - added rgl.pixels() to read the generated image, and demo("stereo") to illustrate its use. - corrected the ?rgl example to display this file. v0.83-1 - Don't try to build Carbon driver in 64 bit Mac OS (contributed by Brian Ripley). - Fixed rgl.pixels example for weird displays. - Did not assume OpenGL 1.2 was available in material properties. - Added numerous error checks. - Fixed demo(stereo) to add sync in X11: X windows seemed to grab images before they were redrawn. - Rearranged headers for Win64 compatibility (contributed by Alex Chen). v0.83-3 - Quick fix for R 2.9.x compatibility, and to remove accidental change introduced in v0.83 which caused errors on plotting without open3d(). v0.84 - Added triangle meshes, shape lists, the Platonic solids and a cuboctahedron. - Added classes mesh3d and shapelist3d; qmesh3d is only kept for back compatibility. - Bug fix to stop crashes when material is set before the first window is opened. v0.85 - Added some namespace declarations to the C++, and renamed math.h, for compatibility with Sun compilers (contributed by Brian Ripley). - Fixed visibility of some shade3d, wire3d and points3d methods. - Added addNormals generic, to add normals for smooth surface rendering. - Added cylinder3d function, to make cylindrical or "tube" plots. - Fixed material3d("color") bug introduced in 0.82. v0.87 - Allowed FOV to be set to 0, for an orthogonal projection. - Fixed crash when zero-length color vector was used. - Fixed crash in X11 after closing a window - Changed seq(along=...) to seq_along(...). - Fixed typo in cylinder3d. - Cleaned up bad links in Rd files. v0.88 - Add keepVars argument to cylinder3d(), for debugging or special effects. - Add BugReports field to DESCRIPTION. v0.89 - Fixed rounding errors and Xvfb errors in rgl.pixels examples and demo. v0.90 - Added startTime argument to play3d() and movie3d(). - Fixed configure.ac as suggested by Jens Elkner. - Updated declarations for libpng 1.4.0 compatibility. - An off-by-one error caused the "alpha" component of the material properties to be messed up. (Bug #809) v0.91 - Fixed bug in rgl.texts: zero-length texts argument caused crash. (Reported by Michael Friendly.) - Added R_ARCH* macros to configure.win for Win64 compatibility - Fixed bad declaration in rglmath.h v0.92 - Added detection of 64 bit MacPorts compiler to configure script. (Bug #861) - Allowed texture coordinates to be specified in mesh objects. - Updated gl2ps to version 1.3.5 - Should now install using --merge-multiarch on Windows v0.92.798 - Added declarations for Solaris compatibility (from Brian Ripley) - Fixed configure.win for bi-arch compatibility. Windows installers can set HAVE_PNG to a non-empty value, and rgl will look for the libpng files in the default LOCAL_SOFT location when installing. - Added depth_mask and depth_test material properties, to allow control over how objects are obscured by each other.