FBOは、OpenGL描画アクションを使用した高速画像操作に使用できることを読みました。誰かがこれを行う方法の基本を知っていますか?またはそれを説明するいくつかの非常に簡単なサンプルコードがありますか?
2 に答える
フレームバッファオブジェクト(FBO)は、画像を直接操作するために使用できない基本的なツールです。OpenGLでの画像操作を画面にレンダリングする方法を知っている場合は、FBOを使用してそれらを画面外にレンダリングできます。画面の解像度に制限されず、何千もの点滅する画像でユーザーの注意をそらす必要がないため、実際にはこのタスクに役立ちます。ただし、操作自体はOpenGLで、おそらくフラグメントシェーダーで行われます。
OpenGLフォーラムにアクセスして、OpenGLの基本を開始する方法に関するアドバイスを入手してください。また、サンプルコードへのリンクもかなりあります。
FBOを画像操作に使用する前に、OpenGLの処理方法を知っておく必要があります。これは、FBOをレンダリングターゲット(レンダリング操作の出力バッファー)として使用できるためです。OpenGLに精通し、シェーダープログラミングの方法を理解すれば、FBO内の画像を使用して事実上すべてを実行でき、非常に高速に実行できます。
より簡単なアプローチは、CUDA(NVidia)またはStream Computing(ATI)を使用して、GPUのパワーを画像操作に利用することです。これらのAPIは、通常のアレイベースのC++プログラミングに非常に近いためです。画像操作は、OpenGLを使用する場合よりも多少遅くなる可能性がありますが、それでも従来のCPU駆動コードを使用する場合よりもはるかに高速です。