4

4、8、9、16 などのスクリーン/プロジェクターで構成されたディスプレイで高解像度 3D シーンをリアルタイムでレンダリングできるシステムを作成するために使用できるツール、API、ライブラリは何ですか? 8 台のプロジェクターを使用するセットアップでは、クラスター化されたソリューションを使用する必要がありますか?それとも、4 つのデュアル ヘッド ビデオ カードを備えた単一ノードを使用する必要がありますか? 誰かがそれについて何か経験がありますか?

4

5 に答える 5

5

イコライザーは、おそらく見つけられる優れたソリューションの 1 つです。

これは、レンダリングを分割してディスプレイ全体に分散するために特別に設計されています。

説明:

イコライザーを使用すると、ユーザーはレンダリング パフォーマンス、ビジュアル品質、および表示サイズを調整できます。Equalizer ベースのアプリケーションは、単純なワークステーションから大規模なグラフィック クラスター、マルチ GPU ワークステーション、仮想現実のインストールまで、あらゆる視覚化システムで変更なしで実行されます。

イコライザーの使用例:

レンダーウォール
(出典: equalizergraphics.com )

私は、イコライザーなしで同様のことをしようとするプロジェクトに取り組んできましたが、正直なところ、それはかなり悪かったと言えます。かろうじて機能するようになりました。後でイコライザーを見つけた後、そのようなツールがあればどれほど簡単だったか想像できません.

于 2009-02-04T20:46:46.770 に答える
2

X11 / Xorgを使用する場合は、 XineramaまたはXRandRを使用できます。しかし、Xineramaに関するウィキペディアを引用するには:

ほとんどの実装では、OpenGL(3D)直接レンダリングは1つの画面でのみ機能します。他の画面に3Dグラフィックスを表示するはずのウィンドウは、黒く表示される傾向があります。これは、3Dスクリーンセーバーで最も一般的に見られます。3Dスクリーンセーバーは、画面の1つに表示され、他の画面には黒で表示されます。(Solaris SPARC OpenGLの実装では、両方のモニターが同じビデオカード上にある場合のnvidiaドライバーと同様に、Xineramaモードですべての画面に直接レンダリングできます。)

最初にウィキペディアの記事を読むことをお勧めします。

于 2009-02-04T20:34:38.933 に答える
2

AMD Radeon HD 5870 Eyefinity 6-edition」グラフィックス カードをご覧ください。これは、同時に 6 つのディスプレイへの出力をサポートし、出力の配置 (3 行、2x3 水平/垂直など) に関するいくつかのオプションをドライバーで設定できるようにします。

API に関して: このようなカード (TripleHead2Go も含む) を使用すると、単一の仮想キャンバスが得られ、パフォーマンスを損なうことなく完全な 3D アクセラレーションをサポートします (拡張デスクトップよりもはるかに優れています)。AMD では、これをシングル ラージ サーフェスと呼んでいます (おそらく、NVidia が水平/垂直スパンと呼んでいるものと同等です)。ここでの注意点は、すべての出力の解像度、フレーム レート、および色深度が同じである必要があることです。このようなサーフェスは、設定によっては 5760 x 3240 以上の解像度になる可能性があるため、5870 が非常に高速であることは良いことです。

次に、アプリケーションで、この大きな仮想キャンバスに (OpenGL、Direct3D、またはその他の方法を使用して) レンダリングし、完了です...ただし、ディスプレイをそれぞれに対して角度を付けるかどうかについては言及していませんでした。その他またはフラットな構成。後者の場合、1 つのパースペクティブ カメラを使用して、バックバッファー全体にレンダリングできます。しかし、より多くの「サラウンド」セットアップがある場合は、シーンに複数のカメラが必要で、すべて同じポイントから外を見る必要があります。

このレンダリングを行う最速のループは、おそらく次のとおりです。

for all all objects
    set textures and shader and renderstate
    for all viewports
        render object to viewport

ではない

for all viewports
    for all objects
         set textures and shader and renderstate
         render object to viewport

オブジェクトを切り替えると、GPU はビューポートを切り替えるよりもはるかに多くの有用な情報を状態とキャッシュから失うためです。

AMD に連絡して、これらのカードを 2 枚 (電源が許す限り) 単一のシステムに追加して、最大 12 台のディスプレイを駆動できるかどうかを確認してください。

すべての構成がサポートされているわけではないことに注意してください(たとえば、FAQ から読んだように、5x1 はサポートされていません)。

これに関する私の多くの経験は、Future Flight Experienceプロジェクトの作成中に集められました。このプロジェクトでは、3 つのビーマー (それぞれが 3D シーンで独自のカメラを備えています)、SLI のデュアル Nvidia GTX 280、および Windows XP の Matrox TripleHead2Go を使用します。 .

于 2011-05-13T21:20:54.093 に答える
2

私はこれらの気の利いた TripleHead2Goの 1 つを自宅のゲーム リグで使用して、1 つのビデオ カードから 3 つのディスプレイを駆動します (Vista でも)。真ん中にベゼルがある2つのディスプレイは、ゲームにはちょっと残念です. (出典: maximumpc.com )TripleHead2Go

私がそれらを知ったのは、約 9 台のディスプレイを備えた当社のシステムを駆動するために、職場でそれらのいくつかを使用することを検討していたからです。そのために、5 つの PCI-X スロットとそれぞれにデュアルヘッド カードを備えたシステムを採用することになったと思います。マザーボードに多くの PCI スロットを取り付けるのに問題がある場合は、利用可能な PCI-X バス拡張システムがあります。

于 2009-02-04T23:24:05.533 に答える