gpt4 book ai didi

java - 从 OpenGL ES 2.0 中读取纹理

转载 作者:行者123 更新时间:2023-12-01 05:04:34 25 4
gpt4 key购买 nike

我当前正在将场景的深度渲染为纹理。我想在任何给定点 x, y 处任意获取纹理的值。我尝试使用 glReadPixels 但它似乎不起作用,而且它似乎也不是最佳解决方案。如果可能的话,我正在考虑一种直接从内存读取纹理数据的方法。除了在帧缓冲区上实际渲染具有深度纹理的四边形之外,是否有任何想法获取任何给定 x、y 的值?

顺便说一下,我在 Android 上使用 Java 和 OpenGL ES 2.0。

GLES20.glGetIntegerv(GLES20.GL_FRAMEBUFFER_BINDING, mainBufferHandle, 0);
if(mainBufferHandle[0] < 0) mainBufferHandle[0] = 0;

GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, depthBufferHandle[0]);

GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_DEPTH_ATTACHMENT, GLES20.GL_TEXTURE_2D, depthTextureHandle[0], 0);

GLES20.glReadPixels(x, y, 1, 1, GLES20.GL_RGB, GLES20.GL_FLOAT, floatBuffer);

最佳答案

我想我只是将深度渲染到 FBO 并使用 glReadPixel 来获取深度值。

关于java - 从 OpenGL ES 2.0 中读取纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12901586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com