それを説明する適切な用語がわからないため、Google で見つけることができません。私が望むのは、オブジェクト、具体的には 2D の四角形をスケーリングすることですが、XY 座標を維持することです。
私の現在の解決策はこれです:
glTranslatef(x, y, 0);
glScalef(scaleX, scaleY, 0);
glTranslatef(-x, -y, 0);
drawRect(x, y, width, height, texture);
glScale を glRotate としてその中心で回転させるふりをするだけですが、多少は機能しますが、他の値にスケーリングすると、座標が少し調整されることがわかります。
また、glTranslate を実行するか、頂点に x、y などの変数を適用するのが適切かを判断します。これらの 2 つから切り替えても違いはわかりませんが、「プッシュ マトリックスとポップ マトリックス」を追加すると、シーン上の他のオブジェクトの動作とプログラムのパフォーマンスに影響するのではないかと心配しています。これは、この長方形をたくさん使用するためです。
アップデート:
だからあなたは私が達成したい方法を簡単に視覚化することができます