草庐IT

glReadPixel

全部标签

ios - 使用 glReadPixels 读取纹理字节?

我想将原始纹理数据转储到磁盘(稍后读回),但我不确定glReadPixel是否会从当前绑定(bind)的纹理中读取。如何从我的纹理中读取缓冲区? 最佳答案 glReadPixels函数从帧缓冲区而不是纹理中读取。要读取纹理对象,您必须使用glGetTexImage但它在OpenGLES中不可用:(如果你想从你的纹理中读取缓冲区,那么你可以将它绑定(bind)到一个FBO(FrameBuffer对象)并使用glReadPixels://GenerateanewFBO.Itwillcontainyourtexture.glGenFram

ios - 为什么 glReadPixels() 在 iOS 6.0 中的这段代码中失败?

以下是我用于从OpenGLES场景读取图像的代码:-(UIImage*)getImage{GLintwidth;GLintheight;glGetRenderbufferParameteriv(GL_RENDERBUFFER,GL_RENDERBUFFER_WIDTH,&width);glGetRenderbufferParameteriv(GL_RENDERBUFFER,GL_RENDERBUFFER_HEIGHT,&height);NSLog(@"%d%d",width,height);NSIntegermyDataLength=width*height*4;//allocatea

iphone - iPhone OpenGL ES 2.0 中 glReadPixels 的更快替代品

有没有比使用glReadPixels更快的访问帧缓冲区的方法?我需要对帧缓冲区中的一个小矩形渲染区域进行只读访问,以便在CPU中进一步处理数据。性能很重要,因为我必须重复执行此操作。我在网上搜索并找到了一些方法,例如使用像素缓冲区对象和glMapBuffer,但OpenGLES2.0似乎不支持它们。 最佳答案 从iOS5.0开始,现在可以更快地从OpenGLES获取数据。这不是很明显,但事实证明,iOS5.0中添加的纹理缓存支持不仅适用于将相机帧快速上传到OpenGLES,还可以反向使用以快速访问原始像素在OpenGLES纹理中。您

opengl - glReadPixels 不将数据写入数组

我被glReadPixels困住了:似乎没有数据写入输出数组。从手册(https://www.opengl.org/sdk/docs/man/docbook4/xhtml/glReadPixels.xml)中写道,如果生成错误,则不会对数据内容进行任何更改。,但显然glGetError()。我真的不明白哪里出了问题...这是在golang中对屏幕中的随机点进行采样的代码。它总是打印[000],尽管没有像素应该是黑色的(甚至背景也不应该)。packagemainimport("fmt""github.com/go-gl/gl/v4.1-core/gl""github.com/veandc

c++ - glReadPixels() "data"参数用法?

我正在尝试使用glReadPixels从图像中获取颜色数据。我应该使用glReadPixels但我似乎无法弄清楚。它是一个更大项目的一部分,但现在我只想知道如何正确使用它。我查了一下,发现是这样的:voidglReadPixels(GLintx,GLinty,GLsizeiwidth,GLsizeiheight,GLenumformat,GLenumtype,GLvoid*data);但我不确定我应该在最后一个参数中添加什么,以及当我这样做时,我什至会如何使用它。帮助真的很感激!(即:一个简单的例子,说明如何使用它,或者如何获取颜色) 最佳答案