SFML で 9-patch を描画するカスタム クラスを作成しましたが、もっと最適化できると思います。
現在、9 つの長方形を作成するために必要なすべての頂点を計算してから、いくつかのループを使用してsf::VertexArray
、 を使用sf::Quads
して、それらを 9 つの個別のクワッドに追加しますPrimitiveType
。
これは合計 4 x 9 = 36 個の頂点ですが、頂点を「リンク」するカスタム方法を定義できる場合は、4 x 4 = 16 個の頂点のみで可能であるはずです。
sf::Triangles
3 つの頂点ごとにグループ化します。sf::Quads
4 つの頂点ごとにグループ化し、各グループから 2 つの三角形を作成します。sf::TrianglesFan
2 つの頂点ごとにグループ化して、中心点を持つ三角形を作成します。
私の質問は、16 個の頂点のみを保存する必要があるように、頂点を結合するカスタムの方法を定義できますか?
また、実際にこれだけ最適化する価値はありますか、それとも違いは目立たないのでしょうか?