2012-10-15 2 views
1

현재 장면의 깊이를 텍스처로 렌더링 중입니다. 임의의 점 x, y에서 텍스처의 값을 임의로 얻고 싶습니다. 나는 glReadPixels을 사용하려고했지만 작동하지 않는 것으로 보이고 또한 최적의 솔루션으로 보이지 않습니다. 가능한 경우 메모리에서 텍스처 데이터를 직접 읽는 방법에 대해 생각하고 있습니다. 주어진 x, y에 대해 그 값을 얻는 아이디어는 프레임 버퍼에 깊이 텍스처가있는 쿼드를 실제로 렌더링하는 것과는 별도입니까?OpenGL ES 2.0에서 텍스처 읽기

그건 그렇고, OpenGL ES 2.0이 설치된 Android에서 자바를 사용하고 있습니다.

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); 
+0

어떻게 glReadPixels를 사용하려고하는지 설명하십시오. 예를 들어 몇 가지 코드를 보여줍니다. –

답변

0

난 그냥 깊이 값을 얻기 위해 FBO 및 사용 glReadPixel에 깊이를 렌더링하는거야 같아요.

관련 문제