3Dフィルタリングアプリケーションのカメラビューから深度バッファを取得したいのですが。現在、深度コンポーネントを取得するためにglReadPixelsを使用しています。[0,1]値の代わりに、深度バッファーの真の値、またはワールド座標でのカメラまでの真の距離が必要です。
GL_DEPTH_BIASとGL_DEPTH_SCALEで深度値を変換しようとしましたが、うまくいきませんでした。
glReadPixels(0, 0, width_, height_, GL_DEPTH_COMPONENT, GL_FLOAT, depth_buffer);
glGetDoublev(GL_DEPTH_BIAS, &depth_bias); // Returns 0.0
glGetDoublev(GL_DEPTH_SCALE, &depth_scale); // Returns 1.0
これはデプスバッファから真のz値を取得するのと似ていますが、シェーダーではなくメインメモリにデプス値を取得したいと思います。