2012-04-18 5 views
0

今、私は三角形や四角形のようなポリゴンを追加するのに問題はありませんが、もっと複雑なものを追加しようとすると問題になります。OpenGLESで座標の配列を持つカスタムシェイプを描く

これは、私は、正方形のために使用するものです。

ポイントの任意の数については完璧に動作しますが、何
GLfloat squareVertices[] = { 
     50, 50, 
     150, 50, 
     50, 150, 
     150, 150 
    }; 
    GLfloat squareTexture[] = { 
     0, 0, 
     1, 0, 
     0, 1, 
     1, 1 
    }; 


    glColor4f(1, 0, 0, 1); 

    glEnableVertexAttribArray(GLKVertexAttribPosition); 
    glEnableVertexAttribArray(GLKVertexAttribTexCoord0); 
    glEnable(GL_BLEND); 
    glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); 


    glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, 0, squareVertices); 
    glVertexAttribPointer(GLKVertexAttribTexCoord0, 2, GL_FLOAT, GL_FALSE, 0, squareTexture 

レッツは、これらの点で、L字状、例えば、私が持っていると言う:

0,0   10,0 






      10,80      100,80 

0,100  10,100     100,100 

これはLである(座標を結ぶラインを参照してみてください)

私の質問は、与えられましたこれらの7ポイント(または8、または100)、どのように図を描くことができますか?

答えて

1

座標点のリストを指定すると、三角メッシュとuv座標のセットを生成する必要があります(実際に必要な場合)。場合 Calculating planar UV coordinates for arbitrary meshes

:UV生成に役立つかもしれない別の質問を

三角測量 http://www.cs.unc.edu/~dm/CODE/GEM/chapter.html

:それは三角測量されたら、ここでgldrawarrays

あなたを助けるかもしれないいくつかの資源であると描くことができますあなたはOpenGL ESの代わりにデスクトップOpenGLを使用していました。実際には、GL_POLYGONSを使用して三角形分割なしで描くことができました。

+0

ありがとう、私はMACで何を意味するのですか?私はiOS(iPhone)に取り組んでいます。私もそれをすることはできますか? –

+0

OpenGLESの一部だけではありませんOpenGL –

+0

さらには凹面ポリゴンも処理されません。 –

1

シェイプを三角形のリストに変換する必要があります。

+0

問題は私のアプリケーションでは、ポイント(座標)の配列を受け取るだけですが、その形状はLかもっと複雑なものになる可能性があります。それを作成するアルゴリズムはありますか? –

関連する問題