現在、シーンの奥行きをテクスチャにレンダリングしています。任意のポイントx、yでテクスチャの値を任意に取得したいと思います。使ってみましglReadPixels
たが、うまくいかないようで、最適な解決策でもないようです。可能であれば、メモリから直接テクスチャデータを読み取る方法を考えています。フレームバッファにデプステクスチャを使用してクワッドを実際にレンダリングする以外に、任意のx、yに対してその値を取得するというアイデアはありますか?
ちなみに、私はAndroidでJavaをOpenGLES2.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);