OpenGL ES 1.x を使用して Android 用の小さなアプリを開発しています。glBegin-glEnd-機能がないため、描画するオブジェクトの頂点 (および色と texcoord) 配列を定義し、行列操作を使用してオブジェクトを移動、スケーリング、回転する必要があります。これは大きなオブジェクトに対してうまく機能します。ここで文句を言う必要はありません...
ただし、小さな「一時的な」オブジェクト (たとえば、点 A から点 B への線のみ) を描きたい場合は、少し面倒です。したがって、次のようないくつかの小さなユーティリティ関数を作成しました。
DrawHelper.drawLine(始点、終点)
これを行うには2つの方法があることに気付きました。私の質問は、これらのバージョンのどれが好ましいですか? このような単純なヘルパー関数を扱っており、どちらの方法も簡単で理解しやすいため、潜在的な速度の向上が非常に低くても、最初からできるだけ適切に記述した方がよいでしょう。したがって、「ベンチマークを行い、最初にボトルネックを特定する」ことはしないでください.. =)
方法 1:
描画ヘルパーには、ポイント (0,0,0) と (1,0,0) を含む FloatBuffer があります。適切なモデルビュー マトリックスを使用して毎回この線を描画し、2 つのポイントを目的の位置に変換します。
方法 2:
描画ヘルパーにはダミーの FloatBuffer があり、毎回新しいポイントをフィードするために FloatBuffer.put を使用します。
方法 1 は、円やその他の幾何学的形状などの大きなオブジェクトに対して明らかに (?) 優れています。単純な線または単純な三角形はどうですか?