プログラム可能なパイプライン(OpenGL 4)を使用しています。問題は次のとおりです。クリップ空間座標[-1、1]の範囲で定義された4つの頂点を持つ「平面」と呼ばれるデフォルトのプリミティブがあります。平面をスケーリングするためにそれらを直接移動することはありませんが、代わりにモデル行列にスケールを適用します。たとえば、幅= 100、高さ= 50の平面を取得するには、平面をスケーリングします。
_modelMatrix.scale(100/2,50/2,1);
また、平面の中心を定義し、ローカルの中心をオフセットするために移動できるアンカーポイントがあります。問題:ピボットを移動した後に平面のスケーリングを開始するまではすべて正常に機能します。たとえば、平面の幅=100および高さ=100の場合、平面の左上隅になるように中心をオフセットします。モデル行列を現在の位置に変換し、xとyのオフセット値(50と-50)を追加します。中心は問題なく配置されますが、平面を再度スケーリングすると、ピボットの中心は新しいスケールですが、オブジェクトに合わせてスケーリングされないためシフトします定義されたアンカーが新しいスケールに対して調整されるようにする正しい方法は何ですか?固定パイプラインでは、アンカーオフセットを追加することで簡単に解決できることを知っていますAPI呼び出しを介して頂点を定義するときに、頂点に直接、