OpenCLパイプラインの一部として、何百もの半透明の円を描く必要があります。簡単なレンダリングの場合:OpenCLはOpenGLより高速ですか?
現在、私はOpenCLキューでclFinishとglFinishを使って(移植性のために)同期されたOpenGL(アルファブレンド付き)を使用しています。
OpenCLでこのレンダリングタスクを実行する方が早いでしょうか? (パイプラインの残りの部分は既にOpenCLに入っていると仮定し、OpenCL互換のGPUがない場合はCPU上で動作する可能性があります)。
円の場合、ラスタライザを簡単なテスト機能で置き換えるのは簡単です。ブレンド機能では、フラグメントごとにデスティネーションテクスチャからのシングルリードが必要です。したがって、素朴なOpenCLの実装は理論的に高速です。しかし、おそらくOpenGLは重複しない三角形を並行してレンダリングできます(これはOpenCLで実装するのが難しいでしょう)。
"*残りのパイプラインはすでにOpenCL *にあると仮定します。"残りのパイプラインについて教えてください。 –
私のアプリの処理パイプライン。私はOpenCLでいくつかの画像を計算し、次にこれらの円をレンダリングしてから、OpenCLで再度処理しなければなりません。 –
ラスタライズまたはレイキャスティングを簡単に呼び出すことができます。私は、これらのことのいずれかを実装すると主張する人の多くが、あなたの代わりにそれを行う特別なAPIを与えられた単純なレンダリングを構成しているとは知らない。 –