I'm trying to make an image using rayshader package. I've been happy that I've been able to create a png file using code like so:
library(ggplot2)
library(rayshader)
example_plot <-
ggplot(data.frame(x=c(1,2,3),y=c(4,5,6),z=c(5,4,3)),aes(x=x,y=y,color=z)) + geom_point()
plot_gg(example_plot, width = 2, height = 2, multicore = TRUE, scale = 125,
zoom = 0.5, phi = 60, theta=-10, windowsize = c(3200, 3200), offset_edges = TRUE)
Sys.sleep(2.0)
render_depth(focus = 0.5, focallength = 100, fstop = 8, clear = TRUE,filename="example.png")
Unfortunately, I can't figure out how to make the output image be a higher resolution. I've tried adjusting the windowsize which at low values seems to make a difference, but I've hit some sort of ceiling where the resolution of the output image won't go above 1372 x 893. What can I do to get an output image that is around 3200 x 3200 resolution?
Thanks!
Currently, rayshader is limited by rgl's lack of support for device sizes greater than the resolution of the screen. I tested it out on my 1440p monitor, and I was able to get render_snapshot()
to create an image 2564x1421 (approximately the resolution of a 1440p monitor). If your monitor supports higher resolutions, you may be able to increase the snapshot size by temporarily increasing your desktop resolution. Otherwise, it's currently a limitation (see this github issue):
https://github.com/tylermorganwall/rayshader/issues/28
However, if you have the time/patience and don't mind the slightly different type of image it produces, render_highquality()
uses a completely different rendering engine and can be set to any size output. Just set the width
and height
arguments to the desired size when calling that function.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With