小编Ole*_*tov的帖子

glReadPixels()无缘无故地设置GL_INVALID_OPERATION标志

我正在尝试用FBO实现颜色选择.我有多重采样FBO(fbo [0]),我用它来渲染场​​景,我有非多重采样FBO(fbo [1]),我用它来进行颜色选择.

问题是:当我尝试从fbo [1]读取像素数据时,一切顺利,直到glReadPixels调用设置GL_INVALID_OPERATION标志.我检查了手册,找不到原因.

创建FBO的代码:

glBindRenderbuffer(GL_RENDERBUFFER, rbo[0]);
glRenderbufferStorageMultisample(GL_RENDERBUFFER, numSamples, GL_RGBA8, resolution[0], resolution[1]);
glBindRenderbuffer(GL_RENDERBUFFER, rbo[1]);
glRenderbufferStorageMultisample(GL_RENDERBUFFER, numSamples, GL_DEPTH24_STENCIL8, resolution[0], resolution[1]);
glBindRenderbuffer(GL_RENDERBUFFER, rbo[2]);
glRenderbufferStorage(GL_RENDERBUFFER, GL_R32UI, resolution[0], resolution[1]);
glBindRenderbuffer(GL_RENDERBUFFER, rbo[3]);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, resolution[0], resolution[1]);

glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fbo[1]);   
glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, rbo[3]);
glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, rbo[2]);
OGLChecker::checkFBO(GL_DRAW_FRAMEBUFFER);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fbo[0]);
glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, rbo[1]);
glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, rbo[0]);
OGLChecker::checkFBO(GL_DRAW_FRAMEBUFFER);
Run Code Online (Sandbox Code Playgroud)

我的检查员保持沉默,以便FBO完成.接下来是拣货代码

glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fbo[1]);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
// bla, bla, bla
// do the rendering
unsigned int result;
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
glBindFramebuffer(GL_READ_FRAMEBUFFER, fbo[1]);
int sb;
glReadBuffer(GL_COLOR_ATTACHMENT0);
glBindBuffer(GL_PIXEL_PACK_BUFFER, …
Run Code Online (Sandbox Code Playgroud)

c++ opengl fbo

7
推荐指数
2
解决办法
3497
查看次数

R corrplot更改数据标签

我正在使用R corrplot库。看起来很棒,但是要生成一个非常好的图,我想更改相关矩阵的行和列的标签。

一种解决方案是执行以下操作:

cbak <- colnames(my.data.frame)
colnames(my.data.frame) <- c("a", "set", "of", "labels")
corrplot(cor(my.data.frame))
colnames(my.data.frame) <- cbak
Run Code Online (Sandbox Code Playgroud)

但是,这看起来很奇怪和丑陋。

我想我应该使用labels一个text()函数的参数,但是我不知道怎么做。

corrplot(cor(my.data.frame), labels=c("a", "set", "of", "labels")) 
Run Code Online (Sandbox Code Playgroud)

结果是

Error in text.default(pos.xlabel[, 1], pos.xlabel[, 2], newcolnames, srt = tl.srt,  : 
  invalid 'pos' value
In addition: Warning message:
In text.default(pos.xlabel[, 1], pos.xlabel[, 2], newcolnames, srt = tl.srt,  :
  NAs introduced by coercion
Run Code Online (Sandbox Code Playgroud)

如何正确做到这一点?

r r-corrplot

4
推荐指数
1
解决办法
8097
查看次数

标签 统计

c++ ×1

fbo ×1

opengl ×1

r ×1

r-corrplot ×1