私は、主に静的データを時間の経過とともに蓄積するプロセスを持っています。その多くは、何百万ものデータ要素です。データの小さな部分が時折変更される可能性がありますが、ほとんどの場合、データは変更されません。
ただし、ユーザーがこのデータの表示方法 (形状と色の両方) を自由に変更できるようにしたいと考えています。
データを GPU にデータとして保存する方法はありますか。次に、そのデータを GPU でレンダリング可能なものに変換する方法がいくつかあります。ユーザーはこれらのアルゴリズムから選択でき、データにまったく触れることなく効率的に交換できます。また、色 ID はデータに含まれますが、ユーザーはデータに触れることなく、各 ID が一致する色を変更できます。
したがって、たとえば、次のデータがある可能性があります。
[1000、602、1、1] [1003、602.5、2、2]
注: データは頂点ではなく、頂点に変換するために何らかの計算またはルックアップが必要になる場合があります。
ユーザーは視覚化アルゴリズムを選択できます。(0, 602, 0) と (3, 602.5, 100) にそれぞれ 2 つの立方体を表示するとします。ユーザーは、色 ID 1 = 青、2 = 緑を選択します。したがって、元の立方体は青で表示され、もう一方は緑で表示されます。
次に、データをまったく変更せずに、ユーザーが別の視覚化を選択すると、ユーザーがカラー マッピングを変更したため、球が (10, 602, 10) と (13, 602.5, 20) に表示され、色が異なります。 .
さらに別のビジュアライゼーションでは、すべてのデータ要素の間に線が表示されたり、4 つのセットごとに長方形が表示されたりする場合があります。
上記の説明は、簡単な方法で実行できるものですか? どのように行うのが最善でしょうか?
新しいデータを追加し、最後に追加することに注意してください。毎秒数千のバーストが発生する可能性があります。既存のデータの変更はよりまれであり、そのような場合のパフォーマンス ヒットは許容されます。ユーザーがアルゴリズムとカラー マッピングを変更することは比較的まれです。
クロスプラットフォーム API (OS と GPU 間) を使用してこれを行うことを好むので、OpenGL を想定しています。