webgl で任意のクワッドをテクスチャリングするための射影変換を計算したいと思います (可能/必要に応じて three.js とシェーダーを使用)。
すべてが投稿でよく説明されているので、少し作業すれば問題を解決できると思います。ソリューションの疑似コードは次のとおりです。
precompute A matrix (should be trivial since texture coordinates are in [0,1] interval)
compute B matrix according to the vertex positions (not possible in the vertex shader since we need the four coordinates of the points)
use B in the fragment shader to compute the correct texture coordinate at each pixel
しかし、webgl でそれを行うためのより簡単な方法があるかどうか疑問に思っています。
---- 関連トピックへのリンク ----
hereで数学的に説明されている問題を解決する同様の方法がありますが、多対多のポイントマッピングを計算するソリューションであるため、私にはやり過ぎのように思えます。
これは OpenGL のソリューションだと思っていましたが、幸いなことにデフォルトで有効になっている単純なパースペクティブの正しい補間を実行するソリューションであることに気付きました。
私が解決したいより一般的な問題の単純なバージョンである台形について多くのことを見つけました: 1、2、および3。最初はそれらが役立つと思っていましたが、代わりに多くの読書と誤解を招きました.
最後に、このページではこの問題を解決するための解決策について説明しますが、これが最も単純で最も一般的な解決策であることに懐疑的でした。今、私はそれが正しいかもしれないと思います!
- - 結論 - -
それが特に複雑な問題だからではなく、単純で典型的/一般的な解決策を探していたからです。多くの場合 (すべてのビデオ マッピング アプリで) 簡単に解決できる問題であり、些細な答えがあると思います。