Releases: dmurdoch/rgl
Releases · dmurdoch/rgl
v1.3.16
rgl 1.3.16
Bug fixes
triangulate()
now uses theearcut
library
from https://github.com/mapbox/earcut.hpp, which
should be faster and more reliable than the
previous R implementation.- In cases where the X11 server did not provide sufficient
support,rgl.init()
could sometimes segfault. That has
been fixed, and warning messages have been made more
informative.
v1.3.14
rgl 1.3.14
Minor changes
rgl.incrementID()
has been added.- An example using log axes has been added to the
help page foraxes3d()
.
Bug fixes
clear3d("all")
, callingbg3d()
on the root
subscene, and some cases ofpop3d()
involving the
background could create a leak of a background object
(issue #439). For back compatibility of saved results, these cases
still increment the object ID number, but don't
actually create a new object.rglwidget()
displays didn't support objects with
smooth = FALSE
.
v1.3.12
rgl 1.3.12
Minor changes
readSTL()
can now read (some) ASCII format STL files.- The configure script has had minor changes, and autoconf
support files have been updated. uname
is no longer used during startup (PR #435
submitted by Jonathon Love).
Bug fixes
- Background plots did not always appear (issue #421).
- Changing the background resulted in an additional background
object instead of replacing the current one. - Colors weren't handled correctly by
writePLY()
(issue #425). bbox3d()
objects ignored thexlen
,ylen
andzlen
settings when rendered usingrglwidget()
(issue #415).- In certain cases, the
WebGL
vignette started with the
mouse mode set to "selecting". - The
rglwidget()
function gets a new argumentfastTransparency
which makes WebGL mimic thergl
device when drawing transparent
objects. The default value isTRUE
unless option
rgl.fastTransparency
is set toFALSE
. writeSTL()
now writesendsolid
, which is required by some apps.
rgl 1.3.1
Major changes
sprites3d()
now supports plotting different 3D symbols
at each location (issue #406).
Minor changes
- ARIA support now declares
rgl
scenes withrole = "img"
. - The vignettes in this package now use
markdown::html_format
, so they no longer require Pandoc
(though Pandoc-using output formats likehtml_document
will still be supported). - Christophe Geuzaine's GL2PS library (used by
rgl.postscript()
)
updated to version 1.4.2, and blending (transparency)
has been enabled in formats that support it. - The
Makevars.ucrt
file has been changed for compatibility
with an upcoming change to Windows Rtools. (Pull request #412 submitted by Tomas Kalibera).
Bug fixes
- The ARIA support caused
htmlwidgets::saveWidget()
to fail when
run in a Shiny session. text3d()
andmtext3d()
did not pass thecex
argument to
plotmath3d()
(pull request #384).polygon3d()
failed when given exactly 3 points (issue #388).snapshot3d()
failed on Windows with some versions ofwebshot2
(issue #391).- Fixed issues caused by misuse of
dev.off()
using new function
safe.dev.off()
. - Fixed issue with
warning()
call reported by CRAN. - Smooth shapes were not rendered correctly by
rglwidget()
.
This was especially noticeable for spheres withfov = 0
, but was present in other cases as well (issue #401). textype = "alpha"
was not rendered correctly byrglwidget()
(issue #408).setUserCallbacks()
and related functions failed when
thesubscene
argument was anything other than the root
subscene.
rgl 1.2.8
Minor changes
- ARIA support now declares
rgl
scenes withrole = "img"
.
Bug fixes
- The ARIA support caused
htmlwidgets::saveWidget()
to fail when
run in a Shiny session. text3d()
andmtext3d()
did not pass thecex
argument to
plotmath3d()
(pull request #384).polygon3d()
failed when given exactly 3 points (issue #388).snapshot3d()
failed on Windows with some versions ofwebshot2
(issue #391).- Fixed issues caused by misuse of
dev.off()
using new function
safe.dev.off()
. - Fixed issue with
warning()
call reported by CRAN.
v1.2.1
rgl 1.2.1
Major changes
- Support for non-PNG textures has been added. Currently
supported: JPEG files and any other object
for whichgrDevices::as.raster()
works, e.g. matrices.
(Fixes issue #196.)
Minor changes
- Support for "alt" text has been added to
rglwidget()
.
Full support in R Markdown orknitr
requires aknitr
update
to version 1.42.12 or newer. - Some of the tests have been relaxed slightly so they
shouldn't trigger errors on the M1Mac test platform. - Internally, the C++ code has dropped the use of the internally
definedString
type, settling onstd::string
instead. subdivision3d()
,clipMesh3d()
and related functions now
(optionally) record the original faces associated with each new one
in amesh$tags
addition to the output.
Bug fixes
- The
Makevars.win
file was being produced incorrectly on
older Windows versions. rgl.window2user()
did not work correctly when multiple panes
were showing. This causedarrow3d()
to fail in some panes
(issue #354).selectpoints3d()
had a typo which was revealed by
warnings in recent R versions.getShaders()
was broken in 1.1.3.arc3d()
can now handle "arcs" that are straight lines along
a radius (issue #357).- Spheres did not show textures correctly (issue #360).
hover3d()
failed to display default labels in R (issue #362).shade3d()
didn't handle meshes with a mix of triangles and
quads properly whenmeshColor == "faces"
.subdivision3d()
and related functions now handle colors
properly.addNormals()
sometimes gaveNaN
values due to rounding
error (issue #372).arc3d()
sometimes missed plotting the last segment of the arc (issue #369).R_NO_REMAP
has been defined and header includes have been
rearranged to prevent conflict between R internals and C++17
library. (Thanks to Prof. B. D. Ripley and G. Csardi for
suggested fixes.)
v1.1.3
rgl 1.1.3
Major changes
- A new function
hover3d()
has been added to display
"hover hints": labels next to points when the mouse
passes near them. - A new material property
"texmode"
has been added
to control how textures are applied. The default is"modulate"
,
consistent with previous versions. If set to"replace"
,
the texture is displayed without any lighting effects or dependence
on the original color of the surface. - Many of the demos have been moved to a new vignette called
demos
. rgl
now uses theglad
loader which will eventually allow
access to newer OpenGL functions in systems that support them.
Minor changes
- The
texenvmap = TRUE
material property is now supported
in WebGL. - The method of including shader source code
has changed to work around a limitation in Jupyter. - The default C++ standard is now accepted, rather
than requiring C++11. On R versions prior to R 4.2.0
C++11 is still requested.
Bug fixes
- The
as.mesh3d.rglId()
andas.triangles3d.rglId()
methods
and theselectpoints3d()
,writeOBJ()
,writePLY()
andwriteSTL()
functions did not handle indices
in the objects they were processing (issue #293). - Transparent planes were not always drawn properly
in WebGL (issue #300). view3d()
now returns alowlevel()
result so that
it will be handled properly in WebGL vignettes with
auto printing.- If
transform3d()
orrotate3d()
changed the orientation
of amesh3d
object with normals, the normals ended up
with the wrong sign. (Reported by Stephane Laurent.) scene3d()
(and hencerglwidget()
) did not save
the normals for unlit objects. When the objects were
also indexed, this prevented proper calculation of
front and back. This is fixed, and a warning is
issued if normals are not provided when needed.- It was possible to call
glVersion
before OpenGL was
initialized; this resulted in a segfault with the new
glad
loader, and may have been the cause of some older crashes
as well. This has been fixed. readOBJ()
did not handle comments properly.- Sprites consisting only of line segments (as used
for example bypch3d()
) caused rendering to fail in
rglwidget()
(issue #316). - Headers have been cleaned up to fix problems
identified by Rtools43.
v1.0.1
Major changes
- The long promised deprecations of the
rgl.*
functions
have happened. Now deprecated:rgl.abclines
,
rgl.bbox
,rgl.bg
,rgl.clear
,rgl.clipplanes
,
rgl.close
,rgl.light
,rgl.lines
,
rgl.linestrips
,rgl.material
,rgl.open
,
rgl.planes
,rgl.points
,rgl.quads
,
rgl.select3d
,rgl.set
,rgl.setAxisCallback
,
rgl.sprites
,rgl.surface
,rgl.texts
,
rgl.triangles
, andrgl.viewpoint
. - A vignette "Deprecating the
rgl.*
interface"
has been added. - Also deprecated:
elementId2Prefix
,writeWebGL
Minor changes
- Since
rgl.material
is deprecated and no
longer contains the list of material types in its
argument list,rgl.material.names
andrgl.material.readonly
have been
added. - Similarly,
rgl.par3d.names
andrgl.par3d.readonly
contain lists of properties that may be set or queried
inpar3d()
. - The flexibility improvements for
surface3d()
in
0.111.6 were incomplete. - Argument
flip
has been added tosurface3d()
to allow
front and back to be switched.
v0.111.6
Minor changes
- Added a panning example to the help page for
setUserCallbacks()
. - Replaced all calls to
sprintf
from C/C++ code with calls to
snprintf
. surface3d
andrgl.surface
are now more flexible,
allowing any of the 3 coordinates to be a vector or matrix
as long as at least one is a matrix.material3d
can now specify anid
to query properties
for individual objects.- Since
rgl.material
is soon to be deprecated and no
longer contain the list of material types in its
argument list,rgl.material.names
andrgl.material.readonly
have been
added. - Similarly,
rgl.par3d.names
andrgl.par3d.readonly
contain lists of properties that may be set or queried
inpar3d()
. - Made some examples conditional on interactive use
to save time on CRAN.
Bug fixes
- Default mouse modes used when a window is opened by an
rgl.*
call (which is not recommended!) now match
the defaults inrgl::r3dDefaults
. - Missing values could cause
surface3d()
to segfault. - The C source code for
gl2psGetFileFormat
missed declaring
a prototype.
rgl 0.109.6
Minor changes
rglwidget()
displays now act on “pointer” events, not just “mouse” events, so they should be more usable on touch screens and tablets (PR #240).
Bug fixes
- Plotting
scene3d()
objects didn’t handle suppressed axes properly, drawing the default axis instead (issue #241). - On some systems using X11, rgl would segfault when the “fixed” font was not found.
- X11 errors could cause R to abort.