1

通常、Blenderまたはその他の3Dモデリングソフトウェアで複雑な3Dモデルを作成し、その後に.objとしてエクスポートすることを理解しています。この.objファイルはプログラムに解析され、openGLがそれをレンダリングします。これは、リアルタイムレンダリングを理解している限りです。

今、私は事前にレンダリングされたオブジェクトのようなものがあるかどうか疑問に思いました。リアルタイムレンダリングに関する記事やビデオがたくさんあるので少し混乱していますが、リアルタイムレンダリングに関する情報は見つかりませんでした。このようなものは存在しますか?リアルタイムレンダリングがないので頭に浮かぶのはビデオだけです。

私はこれがほとんどイエスかノーの質問だと思います:)しかし、それが存在する場合、誰かが説明付きのいくつかのウェブサイトを私に指摘するかもしれません。

4

3 に答える 3

2

「リアルタイムレンダリング」とは、フレームが表示可能な限り高速に生成されていることを意味します。「非リアルタイムレンダリング」または「オフラインレンダリング」とは、フレームを1つずつ生成し、必要なだけの時間をかけて目的の画質を実現し、後でそれらをムービーに組み立てることを意味します。ビデオゲームの品質のビデオをリアルタイムでレンダリングできます。ただし、ピクサー映画のように手の込んだものは、オフラインモードで実行する必要があります。個々のフレームには、まだ数時間のレンダリング時間がかかる場合があります。

于 2012-04-21T16:42:01.703 に答える
0

画面外のフレームバッファ(つまり、FBO)にレンダリングし、それを画面に表示するのではなく、ディスクに保存することを妨げるものは何もありません。たとえば、CUDAやOpenCLなどが登場する前はGPGPUの手法がこのように機能していました。データをフィルタリングされていない浮動小数点テクスチャとしてロードし、FBOでピクセルシェーダーを使用して計算を実行してから、結果はディスクに戻ります。

私が上に投稿したリンクでは、概要に次のように記載されています。

この拡張機能は、ウィンドウシステムによってGLに提供されるバッファ以外のレンダリング先に描画するための単純なインターフェイスを定義します。

その後、次のように述べます。

フレームバッファに接続可能な画像をレンダリング先として使用できるようにすることで、この拡張機能は「オフスクリーン」レンダリングの形式を可能にします。

したがって、30 fpsよりも遅いレンダリングのシーンを画面外にレンダリングし、それらの結果を後日再生できるムービーファイルまたはファイルシーケンス形式に保存することで、「非リアルタイム」レンダリングを取得できます。 。

于 2012-04-21T16:42:09.273 に答える
0

「レンダリングされたオブジェクト」の意味は完全には明確ではありませんが、VBOや頂点配列と呼ばれるものがあり、オブジェクトのジオメトリをVRAMに格納して、glVertex3f()すべてのフレームを使用してレンダリングパイプラインにロードする必要がないようにします。これはイミディエイトモードと呼ばれます。

VBOと頂点配列は、グラフィックスドライバーを呼び出してすべての頂点のVRAMにデータをロードするよりもはるかに高速であるため、イミディエイトモードの代わりに使用されます。これは、通常のRAMよりも高速でレンダリングで起動できるVRAMに保持されるためです。パイプライン。

こちらのページも参考になるかもしれません。

于 2012-04-21T16:36:57.873 に答える