- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我遇到了 glReadPixels 无法读取颜色附件的问题。
我正在尝试做的事情:
读取非默认帧缓冲区的第三种颜色附件(下面的代码)
glFlush();
glFinish();
//binds my fbo with state GL_FRAMEBUFFER
RENDER_MANAGER.DeferredBuffer->bind();
unsigned char data[4];
glPixelStorei(GL_PACK_ALIGNMENT, 1);
unsigned int check = glGetError();
glReadBuffer(GL_COLOR_ATTACHMENT3);
glReadPixels(e->p->x, e->p->y, 1, 1,GL_RGB, GL_UNSIGNED_BYTE, data);
什么有效:
glBindFramebuffer(GL_FRAMEBUFFER, _FBO);
/////create depth texture
glGenTextures(1, &_colorAttacherment[index]);
glBindTexture(GL_TEXTURE_2D, _colorAttacherment[index]);
glTexStorage2D(GL_TEXTURE_2D, 1, internalFormat, width, height);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filter);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filter);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrap);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrap);
////bind texture to the fbo
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + index, GL_TEXTURE_2D, _colorAttacherment[index], 0);
glBindFramebuffer(GL_FRAMEBUFFER, GL_NONE);
我的具体问题是让 glReadPixels 读取颜色附件。
最佳答案
可能适用于此的随机想法:并非所有平台都支持 GL_RGB 与 glReadPixels 一起使用。检查 GL_IMPLEMENTATION_COLOR_READ_FORMAT 是否受支持。
关于c++ - glReadPixels of color附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39907580/
我有一个具有两个线程的 Android OpenGL-ES 应用程序。将线程 1 称为“显示线程”,它将其当前纹理与来自线程 2 的纹理“混合”,也就是“工作线程”。线程 2 执行屏幕外渲染(渲染到纹
我正在使用 pyopengl 获取深度图。 我可以使用 glReadPixels() 获得标准化的深度图。如何将归一化值恢复为世界坐标中的实际深度? 我试过使用 glDepthRange(),但它总是
比如在片段着色器中 FragColor = vec4(TexCoords, MicrifiedCurrentPixelLevel, 0.5); notes:A'value is 0.5. 我想获得Fr
当我绘制一个点时,glReadPixels 不会立即更新。 glColor3f(1.0f, 0.0f, 0.0f); glBegin(GL_POINTS); glVertex2f(x,
我想使用 JOGL 保存我正在用 openGL 显示的视频。为此,我按如下方式将我的帧写入图片,然后,一旦我保存了所有帧,我将使用 ffmpeg。我知道这不是最好的方法,但我仍然不太清楚如何使用 te
我正在尝试使用 glReadPixels 从像素中获取数据。它工作了一段时间。但现在它停止工作了,我不知道为什么。 我需要制作Flood fill算法。 glBegin(GL_POINTS);
我正在使用代码渲染圆形渐变并通过触摸在渐变上创建十字准线( subview )。我现在想读取触摸位置的像素并让它返回 RGB 值,但它总是给我相同的值.. 编辑:添加了呈现渐变的代码 全新代码: vi
我尝试获取渲染像素的颜色。 gl.glColor3f(1f, 0, 0); //draw gl.glReadPixels(lastX - pw / 2, MyCanvas.this.getHeight
我就开门见山了:) 从上面的 480 x 320 图中,我想我可以像蠕虫游戏一样检测像素级别的碰撞。 我想知道的是如何对不同图层上的像素进行采样。正如您在图中看到的,当蠕虫下落时,我只想使用 glRe
经过一个多小时的寻找答案(尝试 Munshi 的“OpenGL ES 2.0 编程指南”中的内容、搜索 Apple 的文档、搜索 StackOverflow),我仍然对如何让 glReadPixels
当我将我的场景渲染到屏幕上时,场景使用了 _MultiSampling Anti-Aliasing 8x; 没问题。 但我想通过 glReadPixels() 读取像素缓冲区,我有一个带有别名线的别名
我正在尝试读取屏幕上绘制的矩形的颜色,但是当我尝试从坐标读取时,它似乎是从一个偏移量读取的,但这个偏移量并不一致。 (我正在使用 SDL2 库以防有帮助)我发现它正在反转坐标,例如如果 y 为 0,则
我使用 JOGL 来处理 OpenGL,但无法获取像素颜色。方法 glReadPixels() 始终返回一个全零的数组。 这就是我的使用方式: private static GL2 gl; stati
我正在尝试通过使用带有 C++ 代码的 glReadPixels 选择两个点(对角)来读取一个像素矩形。选择 Y 轴值时出现问题。 目前,我设法让 glReadPixels 工作直到缩放。当您放大(放
我遇到了 glReadPixels 无法读取颜色附件的问题。 我正在尝试做的事情: 读取非默认帧缓冲区的第三种颜色附件(下面的代码) glFlush(); glFinish(); //binds my
我有一个可以在显示器上渲染的 3d 场景。但是,除了渲染它以显示之外,我还希望能够将渲染的场景导出为图像(比如每 100 帧一次)(比如 JPG 或 PNG 图像),也许将其保存为文件保存在我的某个地
目前我的视口(viewport)上是: 这是我导出图片的方法。 void exportImage() { int width = 200; int height = 100; GLubyt
下面的代码工作正常 const char *title = "glReadOutput"; Mat out1, out2; out1.create(screenHeight,screenWidth,
我是 OpenGL 和 C++ 的新手,最近一直在尝试从我渲染的窗口中提取深度值。我注意到了一些有趣的事情,但我似乎无法弄清楚为什么会这样。 如果我使用与我的窗口大小匹配的“宽度”和“高度”值调用 g
我正在使用 glReadPixels 在 GLSurfaceView.Renderer 的 drawFrame 方法中定期拍摄快照。我需要定期拍摄此快照,以根据我的应用程序要求继续保存我的数据。 但是
我是一名优秀的程序员,十分优秀!