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.

AuthorDaniel Adler <dadler@uni-goettingen.de>, Duncan Murdoch <murdoch@stats.uwo.ca>, and others (see README)
Date of publication2017-01-10 18:22:09
MaintainerDuncan Murdoch <murdoch@stats.uwo.ca>
LicenseGPL
Version0.97.0
https://r-forge.r-project.org/projects/rgl/

View on CRAN

Man pages

3dobjects: add primitive set shape

abclines: Lines intersecting the bounding box

addNormals: Add normal vectors to objects so they render more smoothly.

ageControl: Set attributes of vertices based on their age.

ageSetter: Set WebGL scene properties based on the age of components of...

arrow3d: Draw an arrow in a scene.

aspect3d: Set the aspect ratios of the current plot

attributes: Get information about shapes

axes3d: Draw boxes, axes and other text outside the data

bbox: Set up Bounding Box decoration

bg: Set up Background

bgplot3d: Use base graphics for RGL background

callbacks: User callbacks on mouse events

check3d: Check for an open rgl window.

clipplaneControl: Sets attributes of a clipping plane.

cylinder3d: Create cylindrical or "tube" plots.

elementId2Prefix: Use widget with old-style controls.

ellipse3d: Make an ellipsoid

extrude3d: Generate extrusion mesh

GramSchmidt: The Gram-Schmidt algorithm

grid3d: Add a grid to a 3D plot

hook_rgl: Hook functions to use with 'knitr'

identify3d: Identify points in plot.

import: Imported from magrittr

light: add light source

material: Generic Appearance setup

matrices: Work with homogeneous coordinates

mesh3d: 3D Mesh objects

mfrow3d: Set up multiple figure layouts in rgl.

observer3d: Set the observer location.

par3d: Set or Query RGL Parameters

par3dinterp: Interpolator for par3d parameters

pch3d: Plot symbols similar to base graphics.

persp3d: Surface plots

persp3d.deldir: Plot a Delaunay triangulation.

persp3d.function: Plot a function of two variables

planes: add planes

play3d: Play animation of rgl scene

playwidget: Add a widget to play animations.

plot3d: 3D Scatterplot

plotmath3d: Generate sprites using base graphics math plotting.

polygon3d: Triangulate and draw a polygon in three dimensions.

postscript: export screenshot

primitive: add primitive set shape

propertyControl: Controls to use with playwidget().

propertySetter: Write HTML/Javascript code to control a WebGL display.

r3d: Generic 3D interface

readSTL: Read and write STL (stereolithography) format files

rgl.attrib.info: Get information about attributes of objects

rgl.bringtotop: Assign focus to an RGL window

rglIds: rgl id values

rgl-internal: Internal rgl functions and data

rgl.open: 3D visualization device system

rgl-package: 3D visualization device system

rgl.pixels: Extract pixel information from window

rgl.select: Switch to select mode, and return the mouse position...

rgl.Sweave: Integrating 'rgl' with 'Sweave'

rglToLattice: Convert rgl userMatrix to lattice or base angles

rgl.useNULL: Report default use of null device.

rgl.user2window: Convert between rgl user and window coordinates

rglwidget: An htmlwidget to hold an rgl scene.

scene: scene management

scene3d: Saves the current scene to a variable, and displays such...

sceneChange: Make large change to a scene from Shiny

select3d: Select a rectangle in an RGL scene

selectpoints3d: Select points from a scene

setUserShaders: Set user-defined shaders for 'rgl' objects.

shapelist3d: Create and plot a list of shapes

shiny: Functions for integration of 'rglwidget' into Shiny app.

show2d: Draw a 2D plot on a rectangle in a 3D scene.

snapshot: export screenshot

spheres: add sphere set shape

spin3d: Create a function to spin a scene at a fixed rate

sprites: add sprite set shape

subdivision3d: generic subdivision surface method

subscene3d: Create, select or modify a subscene.

subsceneInfo: Get information on subscenes

surface: add height-field surface shape

surface3d: add height-field surface shape

texts: add text

triangulate: Triangulate a two-dimensional polygon.

turn3d: Create a solid of rotation from a two-dimensional curve.

vertexControl: Set attributes of vertices.

viewpoint: Set up viewpoint

webGLcontrols: Write HTML/Javascript code to control a WebGL display.

writeASY: Write Asymptote code for an rgl scene

writeOBJ: Write Wavefront OBJ format files; read simple ones

writePLY: Write Stanford PLY format files

writeWebGL: Write scene to HTML.

Files in this package

rgl
rgl/COPYING
rgl/inst
rgl/inst/WebGL
rgl/inst/WebGL/template.html
rgl/inst/htmlwidgets
rgl/inst/htmlwidgets/rglPlayer.yaml
rgl/inst/htmlwidgets/rglWebGL.yaml
rgl/inst/htmlwidgets/lib
rgl/inst/htmlwidgets/lib/CanvasMatrix
rgl/inst/htmlwidgets/lib/CanvasMatrix/CanvasMatrix.src.js
rgl/inst/htmlwidgets/lib/rglClass
rgl/inst/htmlwidgets/lib/rglClass/rgl.css
rgl/inst/htmlwidgets/lib/rglClass/rglClass.src.js
rgl/inst/htmlwidgets/rglWebGL.js
rgl/inst/htmlwidgets/rglPlayer.js
rgl/inst/NEWS
rgl/inst/demodata
rgl/inst/demodata/population.dat
rgl/inst/demodata/region.dat
rgl/inst/textures
rgl/inst/textures/bump_dust.png
rgl/inst/textures/rgl2.png
rgl/inst/textures/sunsleep.png
rgl/inst/textures/worldsmall.png
rgl/inst/textures/world.png
rgl/inst/textures/refmap.png
rgl/inst/textures/nightfire.png
rgl/inst/textures/particle.png
rgl/inst/doc
rgl/inst/doc/rgl.html
rgl/inst/doc/WebGL.R
rgl/inst/doc/WebGL.Rmd
rgl/inst/doc/rgl.R
rgl/inst/doc/rgl.Rmd
rgl/inst/doc/WebGL.html
rgl/inst/shinyDemo
rgl/inst/shinyDemo/ui.R
rgl/inst/shinyDemo/server.R
rgl/inst/shinySimple
rgl/inst/shinySimple/ui.R
rgl/inst/shinySimple/server.R
rgl/inst/fonts
rgl/inst/fonts/FreeMono.ttf
rgl/inst/fonts/FreeSans.ttf
rgl/inst/fonts/FreeSerif.ttf
rgl/configure.ac
rgl/tests
rgl/tests/demos.R
rgl/src
rgl/src/NULLgui.h
rgl/src/x11gui.cpp
rgl/src/COPYING.GL2PS
rgl/src/Material.cpp
rgl/src/rglview.h
rgl/src/lib.h
rgl/src/String.cpp
rgl/src/Texture.cpp
rgl/src/LineStripSet.cpp
rgl/src/PlaneSet.cpp
rgl/src/pngpixmap.h
rgl/src/rglview.cpp
rgl/src/SceneNode.h
rgl/src/Light.h
rgl/src/scene.h
rgl/src/api.cpp
rgl/src/rglmath.h
rgl/src/pretty.c
rgl/src/ClipPlane.h
rgl/src/pretty.h
rgl/src/win32lib.cpp
rgl/src/ftgl.cpp
rgl/src/RenderContext.h
rgl/src/assert.cpp
rgl/src/geom.cpp
rgl/src/Device.h
rgl/src/pixmap.h
rgl/src/gl2ps.c
rgl/src/callbacks.cpp
rgl/src/TextSet.cpp
rgl/src/glgui.h
rgl/src/ABCLineSet.cpp
rgl/src/subscene.h
rgl/src/PlaneSet.h
rgl/src/Viewpoint.h
rgl/src/x11gui.h
rgl/src/SpriteSet.h
rgl/src/Material.h
rgl/src/ABCLineSet.h
rgl/src/glgui.cpp
rgl/src/gui.h
rgl/src/render.h
rgl/src/config.h
rgl/src/win32gui.h
rgl/src/Surface.cpp
rgl/src/Disposable.cpp
rgl/src/PrimitiveSet.cpp
rgl/src/gui.cpp
rgl/src/SpriteSet.cpp
rgl/src/select.cpp
rgl/src/PrimitiveSet.h
rgl/src/pragma.h
rgl/src/device.cpp
rgl/src/rgl-win.def
rgl/src/subscene.cpp
rgl/src/SphereSet.cpp
rgl/src/DeviceManager.h
rgl/src/TextSet.h
rgl/src/pixmap.cpp
rgl/src/build
rgl/src/build/autoconf
rgl/src/build/autoconf/install-sh
rgl/src/build/autoconf/config.guess
rgl/src/build/autoconf/config.sub
rgl/src/String.h
rgl/src/Background.cpp
rgl/src/PointSet.cpp
rgl/src/RenderContext.cpp
rgl/src/Color.cpp
rgl/src/R.h
rgl/src/par3d.cpp
rgl/src/BBoxDeco.cpp
rgl/src/fps.h
rgl/src/Surface.h
rgl/src/Makevars.in
rgl/src/SphereMesh.cpp
rgl/src/SphereMesh.h
rgl/src/glErrors.cpp
rgl/src/types.h
rgl/src/init.h
rgl/src/Shape.h
rgl/src/Texture.h
rgl/src/Color.h
rgl/src/platform.cpp
rgl/src/BBoxDeco.h
rgl/src/win32gui.cpp
rgl/src/scene.cpp
rgl/src/Disposable.h
rgl/src/NULLgui.cpp
rgl/src/LineSet.cpp
rgl/src/rglmath.cpp
rgl/src/Light.cpp
rgl/src/init.cpp
rgl/src/render.cpp
rgl/src/fps.cpp
rgl/src/select.h
rgl/src/SphereSet.h
rgl/src/Shape.cpp
rgl/src/Background.h
rgl/src/x11lib.cpp
rgl/src/geom.h
rgl/src/ClipPlane.cpp
rgl/src/devicemanager.cpp
rgl/src/platform.h
rgl/src/gl2ps.h
rgl/src/ext
rgl/src/ext/GLsdk
rgl/src/ext/GLsdk/windemo
rgl/src/ext/GLsdk/windemo/Makefile
rgl/src/ext/GLsdk/windemo/singlewin
rgl/src/ext/GLsdk/windemo/singlewin/Makefile
rgl/src/ext/GLsdk/windemo/singlewin/demo.c
rgl/src/ext/GLsdk/windemo/README
rgl/src/ext/GLsdk/windemo/demogl.h
rgl/src/ext/GLsdk/windemo/multithread
rgl/src/ext/GLsdk/windemo/multithread/Makefile
rgl/src/ext/GLsdk/windemo/multithread/demo.c
rgl/src/ext/GLsdk/windemo/multiwin
rgl/src/ext/GLsdk/windemo/multiwin/Makefile
rgl/src/ext/GLsdk/windemo/multiwin/demo.c
rgl/src/ext/GLsdk/windemo/demogl.c
rgl/src/ext/GLsdk/GL
rgl/src/ext/GLsdk/GL/glprocs.h
rgl/src/ext/GLsdk/GL/gl.h
rgl/src/ext/GLsdk/GL/glext.h
rgl/src/ext/GLsdk/GL/wglext.h
rgl/src/ext/GLsdk/GL/glprocs.c
rgl/src/ext/GLsdk/README
rgl/src/ext/GLsdk/glxdemo
rgl/src/ext/GLsdk/glxdemo/Makefile
rgl/src/ext/GLsdk/glxdemo/demo.c
rgl/src/ext/ftgl
rgl/src/ext/ftgl/FTGlyphContainer.cpp
rgl/src/ext/ftgl/FTCharmap.cpp
rgl/src/ext/ftgl/FTList.h
rgl/src/ext/ftgl/FTVectoriser.cpp
rgl/src/ext/ftgl/FTGlyph
rgl/src/ext/ftgl/FTGlyph/FTPolygonGlyph.cpp
rgl/src/ext/ftgl/FTGlyph/FTBitmapGlyphImpl.h
rgl/src/ext/ftgl/FTGlyph/FTPixmapGlyphImpl.h
rgl/src/ext/ftgl/FTGlyph/FTOutlineGlyph.cpp
rgl/src/ext/ftgl/FTGlyph/FTGlyphGlue.cpp
rgl/src/ext/ftgl/FTGlyph/FTBitmapGlyph.cpp
rgl/src/ext/ftgl/FTGlyph/FTExtrudeGlyph.cpp
rgl/src/ext/ftgl/FTGlyph/FTPolygonGlyphImpl.h
rgl/src/ext/ftgl/FTGlyph/FTGlyphImpl.h
rgl/src/ext/ftgl/FTGlyph/FTTextureGlyph.cpp
rgl/src/ext/ftgl/FTGlyph/FTTextureGlyphImpl.h
rgl/src/ext/ftgl/FTGlyph/FTBufferGlyph.cpp
rgl/src/ext/ftgl/FTGlyph/FTOutlineGlyphImpl.h
rgl/src/ext/ftgl/FTGlyph/FTExtrudeGlyphImpl.h
rgl/src/ext/ftgl/FTGlyph/FTGlyph.cpp
rgl/src/ext/ftgl/FTGlyph/FTBufferGlyphImpl.h
rgl/src/ext/ftgl/FTGlyph/FTPixmapGlyph.cpp
rgl/src/ext/ftgl/FTLayout
rgl/src/ext/ftgl/FTLayout/FTSimpleLayoutImpl.h
rgl/src/ext/ftgl/FTLayout/FTLayoutGlue.cpp
rgl/src/ext/ftgl/FTLayout/FTLayoutImpl.h
rgl/src/ext/ftgl/FTLayout/FTSimpleLayout.cpp
rgl/src/ext/ftgl/FTLayout/FTLayout.cpp
rgl/src/ext/ftgl/FTVector.h
rgl/src/ext/ftgl/FTSize.cpp
rgl/src/ext/ftgl/FTVectoriser.h
rgl/src/ext/ftgl/FTBuffer.cpp
rgl/src/ext/ftgl/config.h
rgl/src/ext/ftgl/FTUnicode.h
rgl/src/ext/ftgl/FTCharToGlyphIndexMap.h
rgl/src/ext/ftgl/FTLibrary.h
rgl/src/ext/ftgl/FTSize.h
rgl/src/ext/ftgl/FTFace.cpp
rgl/src/ext/ftgl/FTLibrary.cpp
rgl/src/ext/ftgl/FTGL
rgl/src/ext/ftgl/FTGL/FTPixmapGlyph.h
rgl/src/ext/ftgl/FTGL/FTGLBitmapFont.h
rgl/src/ext/ftgl/FTGL/FTBufferFont.h
rgl/src/ext/ftgl/FTGL/FTBufferGlyph.h
rgl/src/ext/ftgl/FTGL/FTGLTextureFont.h
rgl/src/ext/ftgl/FTGL/FTTextureGlyph.h
rgl/src/ext/ftgl/FTGL/FTBuffer.h
rgl/src/ext/ftgl/FTGL/FTPoint.h
rgl/src/ext/ftgl/FTGL/FTPolyGlyph.h
rgl/src/ext/ftgl/FTGL/FTGlyph.h
rgl/src/ext/ftgl/FTGL/FTOutlineGlyph.h
rgl/src/ext/ftgl/FTGL/FTGLPixmapFont.h
rgl/src/ext/ftgl/FTGL/FTLayout.h
rgl/src/ext/ftgl/FTGL/FTSimpleLayout.h
rgl/src/ext/ftgl/FTGL/FTGLPolygonFont.h
rgl/src/ext/ftgl/FTGL/ftgl.h
rgl/src/ext/ftgl/FTGL/FTGLExtrdFont.h
rgl/src/ext/ftgl/FTGL/FTFont.h
rgl/src/ext/ftgl/FTGL/FTBitmapGlyph.h
rgl/src/ext/ftgl/FTGL/FTBBox.h
rgl/src/ext/ftgl/FTGL/FTExtrdGlyph.h
rgl/src/ext/ftgl/FTGL/FTGLOutlineFont.h
rgl/src/ext/ftgl/FTContour.cpp
rgl/src/ext/ftgl/FTFont
rgl/src/ext/ftgl/FTFont/FTBitmapFont.cpp
rgl/src/ext/ftgl/FTFont/FTFontGlue.cpp
rgl/src/ext/ftgl/FTFont/FTBufferFont.cpp
rgl/src/ext/ftgl/FTFont/FTBitmapFontImpl.h
rgl/src/ext/ftgl/FTFont/FTPolygonFont.cpp
rgl/src/ext/ftgl/FTFont/FTFontImpl.h
rgl/src/ext/ftgl/FTFont/FTExtrudeFontImpl.h
rgl/src/ext/ftgl/FTFont/FTFont.cpp
rgl/src/ext/ftgl/FTFont/FTBufferFontImpl.h
rgl/src/ext/ftgl/FTFont/FTTextureFont.cpp
rgl/src/ext/ftgl/FTFont/FTPixmapFont.cpp
rgl/src/ext/ftgl/FTFont/FTOutlineFont.cpp
rgl/src/ext/ftgl/FTFont/FTPixmapFontImpl.h
rgl/src/ext/ftgl/FTFont/FTExtrudeFont.cpp
rgl/src/ext/ftgl/FTFont/FTOutlineFontImpl.h
rgl/src/ext/ftgl/FTFont/FTPolygonFontImpl.h
rgl/src/ext/ftgl/FTFont/FTTextureFontImpl.h
rgl/src/ext/ftgl/FTPoint.cpp
rgl/src/ext/ftgl/FTFace.h
rgl/src/ext/ftgl/FTGlyphContainer.h
rgl/src/ext/ftgl/FTCharmap.h
rgl/src/ext/ftgl/FTContour.h
rgl/src/ext/ftgl/FTInternals.h
rgl/src/api.h
rgl/src/opengl.h
rgl/src/assert.h
rgl/src/Viewpoint.cpp
rgl/NAMESPACE
rgl/demo
rgl/demo/stereo.R
rgl/demo/mouseCallbacks.R
rgl/demo/lsystem.r
rgl/demo/bivar.r
rgl/demo/lollipop3d.R
rgl/demo/shinyDemo.R
rgl/demo/simpleShinyRgl.R
rgl/demo/shapes3d.R
rgl/demo/rgl.r
rgl/demo/00Index
rgl/demo/regression.r
rgl/demo/rglExamples.R
rgl/demo/abundance.r
rgl/demo/envmap.r
rgl/demo/subdivision.r
rgl/demo/flag.R
rgl/demo/hist3d.r
rgl/R
rgl/R/rglcontroller.R rgl/R/pch3d.R rgl/R/playwidget.R rgl/R/plot3d.R rgl/R/rgl.bringtotop.R rgl/R/obj.R rgl/R/asy.R rgl/R/cylinder3d.R rgl/R/plugin.R rgl/R/ellipse3d.R rgl/R/matrices.R rgl/R/turn3d.R rgl/R/scene.R rgl/R/arrow3d.R rgl/R/webGL.R rgl/R/triangulate.R rgl/R/selectpoints3d.R rgl/R/oh3d.R rgl/R/shapelist3d.R rgl/R/subscenes.R rgl/R/Sweave_knitr.R rgl/R/par3d.R rgl/R/getscene.R rgl/R/rglwidget.R rgl/R/persp3d.R rgl/R/hooks.R rgl/R/addNormals.mesh3d.R rgl/R/fonts.R rgl/R/mesh3d.R rgl/R/animate.R rgl/R/stl.R rgl/R/grid3d.R rgl/R/internal.R rgl/R/subdivision.mesh3d.R rgl/R/r3d.rgl.R rgl/R/bgplot3d.R rgl/R/enum.R rgl/R/solids3d.R rgl/R/plotmath3d.R rgl/R/webGLcontrols.R rgl/R/ply.R rgl/R/axes.R rgl/R/callbacks.R rgl/R/identify3d.R rgl/R/material.R rgl/R/device.R rgl/R/setUserShaders.R rgl/R/conversions.R rgl/R/zzz.R rgl/R/aspect3d.R rgl/R/convertScene.R
rgl/vignettes
rgl/vignettes/WebGL.Rmd
rgl/vignettes/setup.R
rgl/vignettes/rgl.Rmd
rgl/MD5
rgl/README
rgl/build
rgl/build/vignette.rds
rgl/DESCRIPTION
rgl/configure
rgl/man
rgl/man/arrow3d.Rd rgl/man/mesh3d.Rd rgl/man/rgl-internal.Rd rgl/man/sceneChange.Rd rgl/man/cylinder3d.Rd rgl/man/plot3d.Rd rgl/man/spheres.Rd rgl/man/subdivision3d.Rd rgl/man/rgl.pixels.Rd rgl/man/sprites.Rd rgl/man/propertySetter.Rd rgl/man/rgl.bringtotop.Rd rgl/man/ageControl.Rd rgl/man/rglwidget.Rd rgl/man/viewpoint.Rd rgl/man/writePLY.Rd rgl/man/extrude3d.Rd rgl/man/par3dinterp.Rd rgl/man/postscript.Rd rgl/man/subscene3d.Rd rgl/man/triangulate.Rd rgl/man/surface3d.Rd rgl/man/callbacks.Rd rgl/man/writeOBJ.Rd rgl/man/writeWebGL.Rd rgl/man/spin3d.Rd rgl/man/shiny.Rd rgl/man/abclines.Rd rgl/man/attributes.Rd rgl/man/bgplot3d.Rd rgl/man/observer3d.Rd rgl/man/propertyControl.Rd rgl/man/addNormals.Rd rgl/man/scene3d.Rd rgl/man/import.Rd rgl/man/play3d.Rd rgl/man/persp3d.Rd rgl/man/ellipse3d.Rd rgl/man/select3d.Rd rgl/man/readSTL.Rd rgl/man/polygon3d.Rd rgl/man/webGLcontrols.Rd rgl/man/ageSetter.Rd rgl/man/writeASY.Rd rgl/man/mfrow3d.Rd rgl/man/planes.Rd rgl/man/identify3d.Rd rgl/man/snapshot.Rd rgl/man/GramSchmidt.Rd rgl/man/texts.Rd rgl/man/rgl.Sweave.Rd rgl/man/par3d.Rd rgl/man/r3d.Rd rgl/man/3dobjects.Rd rgl/man/pch3d.Rd rgl/man/bbox.Rd rgl/man/light.Rd rgl/man/persp3d.deldir.Rd rgl/man/check3d.Rd rgl/man/rgl.user2window.Rd rgl/man/subsceneInfo.Rd rgl/man/rgl-package.Rd rgl/man/axes3d.Rd rgl/man/material.Rd rgl/man/matrices.Rd rgl/man/rglIds.Rd rgl/man/plotmath3d.Rd rgl/man/grid3d.Rd rgl/man/selectpoints3d.Rd rgl/man/rglToLattice.Rd rgl/man/hook_rgl.Rd rgl/man/surface.Rd rgl/man/rgl.attrib.info.Rd rgl/man/rgl.select.Rd rgl/man/vertexControl.Rd rgl/man/elementId2Prefix.Rd rgl/man/rgl.useNULL.Rd rgl/man/shapelist3d.Rd rgl/man/rgl.open.Rd rgl/man/primitive.Rd rgl/man/clipplaneControl.Rd rgl/man/scene.Rd rgl/man/persp3d.function.Rd rgl/man/turn3d.Rd rgl/man/bg.Rd rgl/man/setUserShaders.Rd rgl/man/aspect3d.Rd rgl/man/show2d.Rd rgl/man/playwidget.Rd
rgl/configure.win
rgl/cleanup

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.