0

OpenGL でテクスチャを使用して稲妻を作成したいと考えています。このために、1 つの X|Y ポイントで接続されるいくつかの三角形を描画する必要があるため、三角形は最後の終了点から始まります。そのため、長方形を連続して描画したいのですが、次の質問になります。

どちらのドローコールが長いですか? 1 つ目は 6 点を引きます。2 番目に、2 回とも 3 ポイントで関数を呼び出します。

gl.glDrawArrays(GL10.GL_LINE_STRIP, 0, 6);  // Both recatangles

/or this here
gl.glDrawArrays(GL10.GL_LINE_STRIP, 0, 3);  // One rectangle
gl.glDrawArrays(GL10.GL_LINE_STRIP, 0, 3);  // One rectangle

最初に呼び出す方がはるかに高速ですか、それとも問題ではありませんか?

編集:フレームごとに呼び出されるランダムなポイントを生成する私の関数:

public void update()
{
    for(int i = 0; i < STEPS; i += 3)
    {
        float rnd = random(); // creates random number

        if(points[i] + rnd < startX + 5 && points[i] + rnd > startX - 5)
        {
            points[i] += rnd;
        }
    }

    vertexBuffer.clear();   
    vertexBuffer.put(points);
    vertexBuffer.position(0);
}

それはパフォーマンスに悪いですか、それともどうすれば改善できますか?

4

0 に答える 0