9

グーグルでスタックを検索してみましたが、何も見つかりませんでした:-(
(不規則な形状または他のポリゴン (漫画、スプライト) を OpenGL ES の三角形にマッピングする)

iPadのOpenGL ESで塗りつぶされたポリゴンを描画したい(2D、3Dは必要ありません)(OpenGLとOpenGL ESは初めてです)OpenGLでは簡単に見えますが、ESでは三角形を描くことができます。

しかし、これに関する良いチュートリアルが見つかりません:-(ラッパー/ライブラリ、または私を助けることができる何かが存在しますか?

は CoreGraphics を使いたくありません。私がやっていることには遅すぎます^^
そして、可能であれば、Cocos2D のような (大きな) ライブラリは避けてください。

編集:問題に取り組んでいます。ここにいくつかの便利なリンクがあります( 編集
ます (WIKI) http://www.flipcode.com/archives/Efficient_Polygon_Triangulation.shtml (穴のないポリゴン) http://www.cs.unc.edu/~dm/CODE/GEM/chapter.html (穴のあるポリゴン、 Cコード)


ソリューション
ポリゴン テッセレーションを使用して三角形を取得してみます。最初に試してみます ( http://www.flipcode.com/archives/Efficient_Polygon_Triangulation.shtml )。穴のあるポリゴンが必要なので、2 つ目 ( http://www.cs.unc.edu/~ dm/CODE/GEM/chapter.html )。良い方法があればコメントで教えてください( ^^ )

ありがとう :-)

4

6 に答える 6

6

私は OpenGL ES を使用しようとはしていませんが、ドキュメンテーションをざっと見て判断すると、「三角形ファン」などを使用して多角形を描画できるはずです。

glVertexPointer(2, ..., arrayOfCoordinates)
...
glDrawElements(GL_TRIANGLE_FAN, ... , arrayOfIndices);

「三角形のファン」は、車輪の領域を「三角形」に分割する自転車の車輪のスポークと考えることができます (自転車の車輪の外縁はもちろん丸いですが、理解していただければ幸いです)。

更新: Web で小さな図を見つけました。http://www.cse.msu.edu/~cse472/step6_stuff/step6.1.gif

于 2010-10-06T13:02:39.237 に答える
4

Cocos2Dは、OpenGL をラップするクールなライブラリであり、多くの便利な機能 (主にゲーム用ですが、これに限定されません) を備えています。

ポリゴン テッセレーションの使用: http://flipcode.net/archives/Efficient_Polygon_Triangulation.shtml 以前に使用したことがあり、うまく機能しました。

于 2010-10-06T12:42:10.713 に答える
3

ウィキペディアの Polygon Triangulation Talk ページで、三角形が多いほど実際には高速になると主張しています。

穴をサポートし、O(n log (n)) 時間で実行される三角測量エンジンを作成しました。Gdk でテストしてから、Android アプリを作成しました。

于 2011-01-21T22:02:21.673 に答える
2

あなたの最終的な選択は何ですか?最近、以下のリンクにリストされている5つのライブラリをテストしました:http://vterrain.org/Implementation/Libs/triangulate.html

しかし、それらのどれも満足していません...

  1. iphone-glu:(http://code.google.com/p/iphone-glu/)

    • アルゴリズムのバグ?埋められていない小さな穴があるか、ポリゴンの外側に描画されることがあります
  2. Triangulte:(http://www.flipcode.com/archives/Efficient_Polygon_Triangulation.shtml)

    • 穴をサポートしていません…</li>
  3. 三角測量:(http://www.cs.unc.edu/~dm/CODE/GEM/chapter.html)

    • バギー、時々限界を超えたり、負のインデックスなど...
  4. poly2tri:(http://code.google.com/p/poly2tri/)

    • バギー、特定の場合にクラッシュ
  5. openglespolygon:(https://github.com/nroets/OpenGlEsPolygon)

    • 不完全なアルゴリズム?ポリゴンのエッジに沿って小さな穴(塗りつぶされていない)があります
于 2011-10-27T10:35:53.043 に答える
0

非ESOpenGLでは、GLユーティリティ(glu)ライブラリのテッセレータを使用する傾向があります。gluをiPhoneで利用できるようにすることを目的としたこのプロジェクトを見つけました。これは、ポリゴンのテッセレーションをサポートしていると主張しています。それが機能する場合は、良いオプションです。

于 2010-10-06T13:18:55.327 に答える