The other write* options seem to limited to me. I am looking for a way to obtain a PS, or at least a PNG, since I develop a web application on a server that needs to grab the screenshot and create a written report with it. Starting my Xvfb like this:
Xvfb :5 -screen 0 640x480x24 -ac +extension GLX +render -noreset -fbdir /tmp/foobar I can easily run glxgears and obtain nice snapshots of the gears via 'xwud -in /tmp/foobar/Xvfb_screen0'. However, it just won't work for rgl! Given my test.R script with (taken from the doc of bg()): library('rgl') rgl.open() foo<-readline('Enter to cont') bg3d("white") foo<-readline('Enter to cont') rgl.bg(sphere=TRUE, color=c("black","green"), lit=FALSE, back="lines" ) foo<-readline('Enter to cont') rgl.bg(sphere=TRUE, texture=system.file("textures/sunsleep.png", package="rgl"), back="filled" ) foo<-readline('Enter to cont') I can skip through the steps and check at each with xwud, but it just manages to draw the white background. The two last steps fail completely, I only receive a black screen. Sane for plot3d(), for example. Please help, if you can, it would be quite important to have this functionality Thanks Andreas On Wed, Sep 11, 2013 at 6:19 PM, Duncan Murdoch <murdoch.dun...@gmail.com>wrote: > On 11/09/2013 11:44 AM, Andreas Maunz wrote: > >> I am running Xvfb now with >> >> -fbdir /some/path and >> -extension RANDR >> >> but rgl.snapshot is still not working. >> >> Any other idea? Since I can display the webGL successfully in firefox (so >> comes out correct), I assume there should be some way of converting it on >> the server side to some (vector) graphic file format? >> > > The .html file that writeWebGL produces could be considered to be that, > but it's really mostly Javascript code, and I don't know anything other > than a browser that can display it. If you look at ?writeWebGL, you'll see > links to various other ?write* files; they are all vector formats, but are > all more limited than writeWebGL in what they can record. > > Duncan Murdoch > > >> Thanks >> Andreas >> >> >> >> >> On Tue, Sep 10, 2013 at 6:38 PM, Duncan Murdoch >> <murdoch.dun...@gmail.com<mailto: >> murdoch.duncan@gmail.**com <murdoch.dun...@gmail.com>>> wrote: >> >> On 10/09/2013 10:58 AM, Andreas Maunz wrote: >> >> Hi all, >> >> I have a shiny app, in which I want to use rgl's snapshot >> function. I am >> running Xvfb on my server so that rgl works. I start my shiny >> app as >> follows: >> >> echo "Checking for Xvfb..." >> pgrep -U username Xvfb > /dev/null 2>&1 >> >> if [ "$?" -gt 0 ]; then >> echo "Starting Xvfb..." >> Xvfb :7 -screen 0 1280x1024x24 & >> sleep 2 >> fi >> >> echo "...starting shiny" >> export DISPLAY=":7"; R --no-save --no-restore -e >> "library('shiny'); >> runApp('/path/to/app', port=8101)" >> >> In the app, I do plot3d(), generate webGL and send the results >> to the >> browser. But the rgl.snapshot or rgl.postscript functionality >> do not work, >> i.e. they produce black or empty images. I assume this is due >> to Xvfb. Any >> chance I can create snapshots? >> >> >> rgl.snapshot requires the X server to maintain a frame buffer that >> it can read. It looks as though something is going wrong with >> yours. I don't use a system with Xvfb, so I can't really help, >> but you could try Googling to see if that turns anything up. >> >> rgl.postscript shouldn't need the X server, but it is limited in >> what it can display. >> >> Duncan Murdoch >> >> >> > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.