0

Windows から (MSVC++ 2005): C++ アプリケーション (DirectShow+Direct3D) をLinuxに移植してビデオ ファイルを再生し、フラグメント シェーダーを使用するには、どの SDK などをお勧めしますか?

4

3 に答える 3

2

代わりに OpenGL を使用する必要があります。

実装のヒント: - 優れたパフォーマンスを実現するには、優れたビデオ カード ドライバーがインストールされ
ていることを確認する必要があります。 - OpenGL に慣れていない場合は、「レッド ブック」から始めてください - OpenGL プログラミング ガイド - ここから最新の拡張ヘッダーをダウンロードする必要がある場合があります http://www.opengl.org/registry/ -ライブラリ GLEWが役立つ場合があります利用可能な拡張子を特定します。 - GL/gl.hおよびglext.hファイルをプロジェクトに含めます - ドライバーの opengl 動的ライブラリーへのリンク: /usr/lib64/libGL.soまたは similar




于 2009-11-11T09:01:35.260 に答える
2

フラグメントシェーダーが必要な理由はありますか? (ビデオ画像の後処理を行っていますか?)。OpenGL で再生するビデオを取得するために、シェーダー コーディングを行う必要はありません。

ビデオのデコードにはffmpeg(実際にはlibavcodec)を使用します。フレームを表示するには、OpenGL テクスチャと各フレームの glTexSubImage2D を呼び出して更新を行うだけです。

C/C++ での FFMPEG の使用

于 2009-11-11T08:51:17.667 に答える
1

より複雑な directshow アプリケーションを移植する必要がある場合は、Linux の gstreamer フレームワークも確認します。また、メディア再生用に構築するためのある種のグラフもあります。まったく異なりますが、経験があり、複雑なダイレクトショーが必要な場合は、いくつかの類推が表示されます。

gstreamerには、画像効果とシェーダー用のopenglプラグインもあります....

http://www.gstreamer.net/ http://www.gstreamer.net/releases/gst-plugins-gl/0.10.1.html

于 2010-01-24T14:41:31.283 に答える