rgl.snapshot only captures a small portion what's visible in the RGL device window on CentOS 7
Dear R-SIG-Fedora, I'm finding that on CentOS 7, rgl.snapshot (a function in the R package rgl, which provides an R interface to the OpenGL 3-d graphics library) only captures a small portion what's visible in the RGL device window. This does not happen with the same R and rgl versions on CentOS 5.3 (see details below). The maintainer of rgl, Duncan Murdoch, responded (see below) that the rgl code has not changed in a long time, so it's likely, although not certain, that the problem lies with CentOS 7. I know very little about graphics, but it seems to me from looking at the rgl source code that the fundamental work of rgl.snapshot is done by calls to glReadBuffer, glPixelStorei, and glReadPixels, which seem to be functions in the OpenGL library. Can anyone take a look at this or advise me on how to proceed? Thanks very much in advance. -Ben -----Original Message----- From: Duncan Murdoch [mailto:murdoch.duncan at gmail.com] Sent: Friday, January 08, 2016 8:13 PM To: Wittner, Ben, Ph.D.; r-help at r-project.org Subject: Re: [R] rgl.snapshot only captures a small portion what's visible in the RGL device window on CentOS 7
On 08/01/2016 4:13 PM, Wittner, Ben, Ph.D. wrote:
Hello,
As an example, I ran the following code:
library("rgl")
example(plot3d)
rgl.snapshot("test.png")
The full plot is visible in the window titled RGL device 1 [Focus],
but only a small portion of the upper left part of the plot is visible
in test.png (see attached test.png, if the list server attaches it.
Otherwise, email me if you like and I'll send it directly to you.)
The output of sessionInfo() is as follows:
R version 3.2.3 (2015-12-10)
Platform: x86_64-pc-linux-gnu (64-bit) Running under: CentOS Linux 7
(Core)
locale:
[1] LC_CTYPE=en_US.utf8 LC_NUMERIC=C
[3] LC_TIME=en_US.utf8 LC_COLLATE=en_US.utf8
[5] LC_MONETARY=en_US.utf8 LC_MESSAGES=en_US.utf8
[7] LC_PAPER=en_US.utf8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rgl_0.95.1441
loaded via a namespace (and not attached):
[1] tools_3.2.3
In addition to the CentOS 7 machine, I have a CentOS 5.3 machine, which has R 3.0.2 and rgl 0.93.996. I tried the code above on it and it captured the full window in the output of rgl.snapshot (i.e., it worked properly).
To see whether the difference could be attributed to the CentOS version or the R/rgl version, I put R 3.0.2 with rgl 0.93.996 on the CentOS 7 machine and ran the code above. As with the earlier CentOS 7 run, only a small portion of the plot was visible in the output of rgl.snapshot. So it seems the difference is due to a difference in the CentOS versions and not the R/rgl versions.
Thanks in advance for any help.
I think you'll need to contact CentOS about this. That code hasn't changed in rgl in a long time. It's possible that rgl is wrong, but I'd need more information from them to convince me. Duncan Murdoch The information in this e-mail is intended only for the person to whom it is addressed. If you believe this e-mail was sent to you in error and the e-mail contains patient information, please contact the Partners Compliance HelpLine at http://www.partners.org/complianceline . If the e-mail was sent to you in error but does not contain patient information, please contact the sender and properly dispose of the e-mail. -------------- next part -------------- A non-text attachment was scrubbed... Name: test.png Type: image/png Size: 968 bytes Desc: test.png URL: <https://stat.ethz.ch/pipermail/r-sig-fedora/attachments/20160111/ddb795d6/attachment.png>