私はMeshDepthMaterialを使用してthree.jsで簡単なGPUピッカーを実装しようとしています。three.jsでのRGBA深度値のアンパック
しかし、値がとして出てくる: https://github.com/mrdoob/three.js/blob/master/examples/webgl_interactive_cubes_gpu.html
と深さを再構築するためにJavaScriptにここからunpackRGBAToDepth機能を移植することによって:私は、次の例を使用してカラー値を抽出するために管理してきました0.0から255.0までの浮動小数点(私はそれが0.0から1.0または実際の深さの間にあることを期待していました)。私の質問は次のとおりです。この値をどうすれば使うことができますか?それを実際の深さに変換できますか?もしそうなら、どうですか?
http://stackoverflow.com/questions/6652253/getting-the-true-z-value-from-the- depth-bufferとhttps://www.opengl.org/discussion_boards/showthread.php/171104-Convert-value-from-Z-buffer-to-Z-coordinate – gaitat
私の実装はかなりstackoverflow答えに近いですが、私は対数奥行きバッファを使用していますので少し異なります。私は例を作成しました:http://jsfiddle.net/1x4Lk8w6/1/実際の深さを取得しようとしていますが、マウスの下に何かがある場合は常に1に終わります。 – Avocher
カメラの遠景を変更したときの効果を確認してください。 10000はかなり大きいです。 – gaitat