ジオメトリシェーダのエントリポイントから、画面内のポイントの座標を取得するにはどうすればよいですか? SceneKitは行列変換とその逆の束を公開していますが(https://developer.apple.com/reference/scenekit/scnshadable> SceneKitが提供する入力を使用して)、それらを使用する方法を理解できませんでした...SceneKit - 画面座標の位置を取得
たとえば、頂点シェーダで実行されるジオメトリエントリポイント
varying vec2 screen_coords;
#pragma body
screen_coords = (u_inverseModelViewProjectionTransform * _geometry.position).xy
が、それは明確にするために:(
を動作するようには思えない、私はあればscreen_coords
は[0、1] * [0、1]になりたい:、私が試してみましたポイントは正確な位置に応じて画面に表示され、そうでない場合は何かが表示されます。
あなたが見ることができますhttp://www.songho.ca/opengl/gl_projectionmatrix.htmlには投影、クリップスペース、正規化されたデバイス座標についての素晴らしい説明があります。 – mnuages