0

libCinderと呼ばれる私が使用したい火格子ライブラリがあります、私はそのドキュメントを調べましたが、それが可能かどうか、そして最初にそれを表示せずに何かをレンダリングする方法はわかりませんか?

3つの赤白青の円が付いた単純なランダムカラー640x480キャンバスを作成し、RGB \ HSL \ anychar *を取得して、ユーザーにウィンドウを表示せずに生の画像データを取得するとします。(コンソールアプリケーションプロジェクトタイプがあるとします)。サーバー側のライブビデオストリームの生成とビデオストリーミングにこのような機能を使用したいので、 ffmpegを使用したいので、RGB\HSVまたは実際の画像データを含むバッファーへのポインターが必要です。libCInderでそのようなことを行う方法は?

4

1 に答える 1

1

オフスクリーンレンダリングを使用する必要があります。グラフィックスに関しては、libcinderの単なるラッパーのように見えるので、コードを使用してこれを実現できます。OpenGLOpenGL

OpenGLオフスクリーンレンダリングのネイティブメカニズムがないため、拡張機能を使用する必要があります。フレームバッファレンダリングと呼ばれるこのような拡張機能を使用するためのチュートリアルは、ここにあります。renderer.cppこの拡張機能のコマンドを使用するには、変更する必要があります。

このような拡張機能を使用する代わりにMesa 3D、のオープンソース実装であるを使用することもできOpenGLます。Mesaビデオカードを使用せずにメモリにレンダリングできるソフトウェアレンダリングエンジンがあります。これは、ビデオカードは必要ないことを意味しますが、その一方で、レンダリングが遅くなる可能性があります。DemosファイルMesaのメモリバッファにレンダリングする例があります。このソリューションでは、おそらく、 'sまたは'sの代わりに's intrusctionsに類似し、それを使用する完全なクラスを作成する必要があります。src/osdemos/zipRendererRenderer2dRendererGlMesaWindowsMac

于 2011-12-21T12:07:58.847 に答える