Package: rgl 1.3.10

rgl: 3D Visualization Using OpenGL

Provides medium to high level functions for 3D interactive graphics, including functions modelled on base graphics (plot3d(), etc.) as well as functions for constructing representations of geometric objects (cube3d(), etc.). Output may be on screen using OpenGL, or to various standard 3D file formats including WebGL, PLY, OBJ, STL as well as 2D image formats, including PNG, Postscript, SVG, PGF.

Authors:Duncan Murdoch [aut, cre], Daniel Adler [aut], Oleg Nenadic [ctb], Simon Urbanek [ctb], Ming Chen [ctb], Albrecht Gebhardt [ctb], Ben Bolker [ctb], Gabor Csardi [ctb], Adam Strzelecki [ctb], Alexander Senger [ctb], The R Core Team [ctb, cph], Dirk Eddelbuettel [ctb], The authors of Shiny [cph], The authors of knitr [cph], Jeroen Ooms [ctb], Yohann Demont [ctb], Joshua Ulrich [ctb], Xavier Fernandez i Marin [ctb], George Helffrich [ctb], Ivan Krylov [ctb], Michael Sumner [ctb], Mike Stein [ctb]

rgl_1.3.10.tar.gz
rgl_1.3.10.zip(r-4.5)rgl_1.3.10.zip(r-4.4)rgl_1.3.10.zip(r-4.3)
rgl_1.3.10.tgz(r-4.4-x86_64)rgl_1.3.10.tgz(r-4.4-arm64)rgl_1.3.10.tgz(r-4.3-x86_64)rgl_1.3.10.tgz(r-4.3-arm64)
rgl_1.3.10.tar.gz(r-4.5-noble)rgl_1.3.10.tar.gz(r-4.4-noble)
rgl.pdf |rgl.html
rgl/json (API)
NEWS

# Install 'rgl' in R:
install.packages('rgl', repos = c('https://dmurdoch.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/dmurdoch/rgl/issues

Uses libs:
  • libglu– Mesa OpenGL utility library
  • libglvnd– Vendor neutral GL dispatch library
  • libpng– PNG library
  • libx11– X11 client-side library
  • freetype– FreeType 2 font engine
  • c++– GNU Standard C++ Library v3

On CRAN:

graphicsopenglrglwebgl

240 exports 85 stars 9.78 score 28 dependencies 289 dependents 156 mentions 6.2k scripts 55.8k downloads

Last updated 2 months agofrom:fbedc326e2. Checks:OK: 9. Indexed: yes.

TargetResultDate
Doc / VignettesOKSep 05 2024
R-4.5-win-x86_64OKSep 05 2024
R-4.5-linux-x86_64OKSep 05 2024
R-4.4-win-x86_64OKSep 05 2024
R-4.4-mac-x86_64OKSep 05 2024
R-4.4-mac-aarch64OKSep 05 2024
R-4.3-win-x86_64OKSep 05 2024
R-4.3-mac-x86_64OKSep 05 2024
R-4.3-mac-aarch64OKSep 05 2024

Exports:.check3d%>%abclines3daddNormalsaddToSubscene3dageControlarc3darrow3das.mesh3das.rglsceneas.tmesh3das.triangles3dasEuclideanasEuclidean2asHomogeneousasHomogeneous2aspect3dasRowaxes3daxis3dbbox3dbg3dbgplot3dbox3dBuffercheckDeldirclear3dclearSubsceneListclipMesh3dclipObj3dclipplaneControlclipplanes3dclose3dcompare_proxy.mesh3dcontourLines3dcube3dcuboctahedron3dcur3dcurrentSubscene3dcylinder3ddecorate3ddeform.mesh3ddelFromSubscene3ddivide.mesh3ddodecahedron3ddot3ddrape3delementId2Prefixellipse3dexpect_known_sceneextrude3dfacing3dfigHeightfigWidthfilledContour3dgc3dgetBoundary3dgetr3dDefaultsgetShadersgetWidgetIdgltfTypesGramSchmidtgrid3dhighlevelhook_rglhook_webglhover3dicosahedron3didentify3didentityMatrixids3din_pkgdown_examplelayout3dlegend3dlight3dlines3dlowlevelmakeDependencymaterial3dmergeVerticesmesh3dmfrow3dmovie3dmtext3dnewSubscene3dnext3dnormalize.mesh3dobserver3doctahedron3doh3dopen3dpar3dpar3dinterppar3dinterpControlparticles3dpch3dpersp3dplanes3dplay3dplaywidgetplaywidgetOutputplot3dplotmath3dpoints3dpolygon3dpop3dprojectDownpropertyControlqmesh3dquads3dr3dDefaultsreadOBJreadSTLregisterSceneChangerenderPlaywidgetrenderRglwidgetrgl.abclinesrgl.attribrgl.attrib.countrgl.attrib.inforgl.bboxrgl.bgrgl.bringtotoprgl.clearrgl.clipplanesrgl.closergl.currgl.dev.listrgl.getAxisCallbackrgl.getMouseCallbacksrgl.getWheelCallbackrgl.idsrgl.initrgl.lightrgl.linesrgl.linestripsrgl.materialrgl.material.namesrgl.material.readonlyrgl.openrgl.par3d.namesrgl.par3d.readonlyrgl.pixelsrgl.planesrgl.pointsrgl.poprgl.postscriptrgl.primitivergl.projectionrgl.quadsrgl.quitrgl.selectrgl.select3drgl.setrgl.setAxisCallbackrgl.setMouseCallbacksrgl.setWheelCallbackrgl.snapshotrgl.spheresrgl.spritesrgl.surfacergl.Sweavergl.Sweave.offrgl.textsrgl.trianglesrgl.useNULLrgl.user2windowrgl.viewpointrgl.window2userrglExtrafontsrglFontsrglIdrglMouserglSharedrglToBaserglToLatticerglwidgetrglwidgetOutputrotate3drotationMatrixsafe.dev.offscale3dscaleMatrixscene3dsceneChangesegments3dselect3dselectionFunction3dselectpoints3dset3dsetAxisCallbackssetGraphicsDelaysetupKnitrsetUserCallbackssetUserShadersshade3dshadow3dshapelist3dshinyGetPar3dshinyResetBrushshinySetPar3dshow2dsnapshot3dspheres3dspin3dsprites3dsubdivision3dsubsceneInfosubsceneListsubsetControlsurface3dSweave.snapshottagged3dterrain3dtetrahedron3dtext3dtexts3dtextureSourcethigmophobe3dtitle3dtkpar3dsavetkspin3dtkspinControltmesh3dtoggleWidgettransform3dtranslate3dtranslationMatrixtriangles3dtriangulateturn3duseSubscene3dvertexControlview3dwire3dwriteASYwriteOBJwritePLYwriteSTLwriteWebGL

Dependencies:base64encbslibcachemclidigestevaluatefastmapfontawesomefsgluehighrhtmltoolshtmlwidgetsjquerylibjsonliteknitrlifecyclemagrittrmemoisemimeR6rappdirsrlangrmarkdownsasstinytexxfunyaml

A Note on Transparency

Rendered fromtransparency.Rmdusingknitr::knitron Sep 05 2024.

Last update: 2024-07-07
Started: 2021-02-02

Deprecating the rgl.* interface

Rendered fromdeprecation.Rmdusingknitr::knitron Sep 05 2024.

Last update: 2023-12-08
Started: 2023-01-04

rgl Demos

Rendered fromdemos.Rmdusingknitr::knitron Sep 05 2024.

Last update: 2024-07-07
Started: 2023-01-29

rgl Overview

Rendered fromrgl.Rmdusingknitr::knitron Sep 05 2024.

Last update: 2024-03-03
Started: 2014-11-23

User Interaction in WebGL (updated)

Rendered fromWebGL.Rmdusingknitr::knitron Sep 05 2024.

Last update: 2023-12-08
Started: 2015-01-31

Using RGL in pkgdown web sites

Rendered frompkgdown.Rmdusingknitr::knitron Sep 05 2024.

Last update: 2024-07-07
Started: 2021-04-11

Readme and manuals

Help Manual

Help pageTopics
3D visualization device systemrgl-package RGL rgl
Check for an open RGL window..check3d check3d
Lines intersecting the bounding boxabclines3d
Add normal vectors to objects so they render more smoothlyaddNormals addNormals.mesh3d addNormals.shapelist3d
Set attributes of vertices based on their ageageControl
Compare mesh3d objects in a meaningful way.all.equal.mesh3d compare_proxy.mesh3d
Draw arcsarc3d
Draw an arrowarrow3d
Convert object to mesh objectas.mesh3d as.mesh3d.default
Convert alpha-shape surface of a cloud of points to RGL mesh objectas.mesh3d.ashape3d
Convert object in plot to RGL mesh objectas.mesh3d.rglId
Convert an object to an 'rglscene' object.as.rglscene
Convert object to a triangular meshas.tmesh3d as.tmesh3d.default as.tmesh3d.mesh3d
Convert an object to trianglesas.triangles3d as.triangles3d.rglId
Set the aspect ratios of the current plotaspect3d
Convenience functions for RGL HTML layoutsasRow getWidgetId
Draw boxes, axes and other text outside the dataaxes3d axis3d box3d mtext3d title3d
Set up bounding box decorationbbox3d
Set up backgroundbg3d
Use base graphics for RGL backgroundbgplot3d legend3d
R6 Class for binary buffers in glTF files.Buffer
User callbacks on mouse eventsrgl.getMouseCallbacks rgl.getWheelCallback rgl.setMouseCallbacks rgl.setWheelCallback
Check for a compatible version of 'deldir'checkDeldir
Clip mesh or RGL object to general regionclipMesh3d clipObj3d
Sets attributes of a clipping planeclipplaneControl
Draw contours on a surfacecontourLines3d contourLines3d.mesh3d contourLines3d.rglId filledContour3d filledContour3d.mesh3d filledContour3d.rglId
Sample 3D mesh objectscube3d cuboctahedron3d dodecahedron3d icosahedron3d octahedron3d oh3d tetrahedron3d
Create cylindrical or "tube" plotscylinder3d
Add decorations to a 3D plotdecorate3d
Drape lines over a scene.drape3d drape3d.default drape3d.mesh3d
Use widget with old-style controlselementId2Prefix
Make an ellipsoidellipse3d ellipse3d.default ellipse3d.glm ellipse3d.lm ellipse3d.nls
Helper for 'testthat' testing.expect_known_scene
Generate extrusion meshextrude3d
Subset an object to parts facing in a particular directionfacing3d projectDown
Get R Markdown figure dimensions in pixelsfigHeight figWidth
Extract the boundary of a meshgetBoundary3d
Names of glTF types.gltfTypes
The Gram-Schmidt algorithmGramSchmidt
Add a grid to a 3D plotgrid3d
Display hover info in plot.hover3d
Identify points in plotidentify3d
Imported from magrittr%>% pipe
Are we running in a 'pkgdown' example?in_pkgdown_example
Add light sourcelight3d
Process Javascript for HTML dependencymakeDependency RGL_DEBUGGING
Get or set material propertiesmaterial3d rgl.material.names rgl.material.readonly
Work with homogeneous coordinatesasEuclidean asEuclidean2 asHomogeneous asHomogeneous2 identityMatrix matrices rotate3d rotationMatrix scale3d scaleMatrix transform3d translate3d translationMatrix
Merge RGL mesh objectsmerge.mesh3d
Merge duplicate vertices in mesh objectmergeVertices
Construct 3D mesh objectsmesh3d qmesh3d shape3d tmesh3d
Set up multiple figure layoutsclearSubsceneList layout3d mfrow3d next3d subsceneList
Set the observer locationobserver3d
Work with RGL windowsclose3d cur3d getr3dDefaults open3d r3dDefaults rgl.dev.list rgl.quit set3d
Set or query RGL parameterspar3d rgl.par3d.names rgl.par3d.readonly
Interpolator for par3d parameterspar3dinterp
Control RGL widget like par3dinterp()par3dinterpControl
Plot symbols similar to base graphicspch3d
Surface plotspersp3d persp3d.default
Plot a Delaunay triangulationas.mesh3d.deldir persp3d.deldir plot3d.deldir
Plot a function of two variablespersp3d.function plot3d.function
Plot an interp or tripack Delaunay triangulationas.mesh3d.tri as.mesh3d.triSht persp3d.tri persp3d.triSht plot3d.tri plot3d.triSht
Add planesclipplanes3d planes3d
Play animation of RGL scenemovie3d play3d
Add a widget to play animationsplaywidget
3D scatterplotplot3d plot3d.default plot3d.mesh3d
Methods for formulaspersp3d.formula plot3d.formula
Method for plotting simple linear fitplot3d.lm
Draw text using base graphics math plottingplotmath3d
Draw a polygon in three dimensionspolygon3d
Add primitive shape3dobjects lines3d points3d primitives quads3d segments3d triangles3d
Controls to use with playwidget()propertyControl subsetControl
Generic 3D interfacer3d
Read and write STL (stereolithography) format filesreadSTL writeSTL
Get information about shapesrgl.attrib
Get information about attributes of objectsrgl.attrib.count rgl.attrib.info
Assign focus to an RGL windowrgl.bringtotop
Get user-defined axis labelling callbacks.rgl.getAxisCallback
Initializing RGLrgl.init
Extract pixel information from windowrgl.pixels
Export vector graphicsrgl.postscript
Switch to select mode, and return the mouse position selectedrgl.select
Integrating RGL with Sweavergl.Sweave rgl.Sweave.off Sweave.snapshot
Report default use of null devicergl.useNULL RGL_USE_NULL
Convert between RGL user and window coordinatesrgl.projection rgl.user2window rgl.window2user
Register extra fontsrglExtrafonts
Specify FreeType fontsrglFonts
RGL id valueshighlevel lowlevel print.rglId rglHighlevel rglId rglLowlevel
Generate HTML code to select mouse moderglMouse
Create shared data from an RGL objectrglShared
Convert RGL userMatrix to lattice or base anglesrglToBase rglToLattice
An htmlwidget to hold an RGL scenergl.printRglwidget rglwidget
Close graphics device in a safe way.safe.dev.off
Scene managementclear3d ids3d pop3d
Saves the current scene to a variable, and displays such variablesplot3d.rglobject plot3d.rglscene print.rglobject print.rglscene rglobject-class rglscene-class scene3d
Make large change to a scene from ShinyregisterSceneChange sceneChange
Select a rectangle in an RGL sceneselect3d selectionFunction3d
Select points from a sceneselectpoints3d
User-defined axis labelling callbacks.setAxisCallbacks
Set a one-time slowdown on opening standard graphicsRGL_SLOW_DEV setGraphicsDelay
Displaying RGL scenes in 'knitr' documentshook_rgl hook_rglchunk hook_webgl setupKnitr
Set mouse callbacks in R or Javascript codesetUserCallbacks
Set user-defined shaders for RGL objects, or get shaders.getShaders setUserShaders
Draw 3D mesh objectsdot3d dot3d.mesh3d shade3d shade3d.mesh3d wire3d wire3d.mesh3d
Project shadows of mesh onto object.shadow3d
Create and plot a list of shapesshapelist3d
Functions for integration of RGL widgets into Shiny appplaywidgetOutput renderPlaywidget renderRglwidget rglwidgetOutput
Communicate RGL parameters between R and Javascript in ShinyshinyGetPar3d shinyResetBrush shinySetPar3d
Draw a 2D plot on a rectangle in a 3D sceneshow2d
Export screenshotrgl.snapshot RGL_USE_WEBSHOT snapshot3d
Add spheresspheres3d
Create a function to spin a scene at a fixed ratespin3d
Add spritesparticles3d sprites3d
Subdivide a meshdeform.mesh3d divide.mesh3d normalize.mesh3d subdivision3d subdivision3d.mesh3d
Create, select or modify a subsceneaddToSubscene3d currentSubscene3d delFromSubscene3d gc3d newSubscene3d subscene3d useSubscene3d
Get information on subscenessubsceneInfo
Add surfacesurface3d
Find tags on rgl objects.tagged3d
Add text to plottext3d texts3d
Retrieve source code used to produce texture file.textureSource
Find the direction away from the closest point in a 3d projectionthigmophobe3d
Modal dialog for saving par3d settingspar3dsave tkpar3dsave
The former tkrgl packagetkrgl
Create TCL/TK controller for RGL windowtkspin3d
Create a spin control in a TCL/TK windowtkspinControl
An HTML widget to toggle display of elements of a scenetoggleWidget
Triangulate a two-dimensional polygontriangulate
Create a solid of rotation from a two-dimensional curveturn3d
Set attributes of verticesvertexControl
Set up viewpointview3d
Write Asymptote code for an RGL scenewriteASY
Read and write Wavefront OBJ format filesreadOBJ writeOBJ
Write Stanford PLY format fileswritePLY