knitr::opts_chunk$set(echo = TRUE)
library(quadmesh)
## Warning: package 'quadmesh' was built under R version 4.1.2
library(ggplot2)
## Warning in register(): Can't find generic `scale_type` in package ggplot2 to
## register S3 method.
library(raster)
## Loading required package: sp
r <- raster::raster(volcano %/% 10)

tb <- as.data.frame(r, xy = TRUE)
#png("file.png", width = 100, height = 100)
ggplot(tb, aes(x, y, fill = layer))+ geom_raster() + 
  theme_dark() + 

  theme(plot.background = element_rect(fill = "black"))

ggsave("file.png")
## Saving 7 x 5 in image
r <- raster::setExtent(r, raster::extent(0, nrow(r), 0, ncol(r)))
b <- raster::brick("file.png")

## set all white to black
towhite <- function(x) {
  x[x == 255] <- 0
  x
}
values(b) <- towhite(values(b))

r1 <- aggregate(b, fact = 8, method = "ngb")
v <- values(r1)
r1 <- raster::setValues(r1[[1]], (v[,1]+ v[,2]^2 + v[,2]^3)  / 2^24)
rgl::rgl.clear()
rgl::shade3d(quadmesh(r1, texture = b), lit = FALSE)
## writing texture image to C:\Users\enamo\AppData\Local\Temp\RtmpMTijMg\file40846de26838.png
rgl::aspect3d(1, 1, 0.2)
rgl::rglwidget()

x, y, fill = glaciar_1136

# library(reshape2)
# library(plotly)
# 
# df <- tb
# 
# ggplot(df, aes(x, y)) +
#   geom_raster(aes(fill=glaciar_1136))

# ggplotly(p)
# ggsave("file3.png")
# r <- raster::setExtent(img_1, raster::extent(0, nrow(img_1), 0, ncol(img_1)))
# b <- raster::brick("file3.png")
# 
# ## set all white to black
# towhite <- function(x) {
#   x[x == 255] <- 0
#   x
# }
# values(b) <- towhite(values(b))
# 
# r1 <- aggregate(b, fact = 8, method = "ngb")
# v <- values(r1)
# r1 <- raster::setValues(r1[[1]], (v[,1]+ v[,2]^2 + v[,2]^3)  / 2^24)
# rgl::rgl.clear()
# rgl::shade3d(quadmesh(r1, texture = b), lit = FALSE)
# rgl::rglwidget()