2

独自の ARGB イメージ オーバーレイ コードをコーディングしましたが、「可能な限り」高速になるように最適化されています。しかし、それは私が望むほど速くはありません。また、このプロセスは複数回呼び出され、多くの CPU を使用します。

GPU を使用してイメージ オーバーレイを実行したいと考えています。これにより、最小限の CPU 使用率で速度が大幅に向上する可能性があると思います。

GPU を使用して画像をオーバーレイするにはどうすればよいですか? 私の研究から、フレーム バッファを使用して画面外に描画することができます。ただし、それを設定する方法については 100% 確信が持てません。基本的に、Java から JNI にビットマップを渡し、画像をオーバーレイする必要があるビットマップ ピクセルを取得します。オーバーレイする画像の量は、2 から 12 までの範囲で指定できます。これらは大きな画像です。

UPDATE1:
これまでのところ、これは私が持っているものです。正しい方向への一歩だと思います。

GLuint arraybuffer;
glGenBuffers(GL_ARRAY_BUFFER, &arraybuffer);
glBindBuffer(GL_ARRAY_BUFFER, arraybuffer);

// draw into the array buffer the images
...

// read the buffer pixels from OpenGL
glReadPixels(0, 0, outputWidth, outputHeight, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
4

1 に答える 1