2

レイトレーシングの性能を定式化できるかどうか。私のプリミティブ レイ トレーサーでは、パフォーマンスは主に次の式に依存します: 幅 x 高さ x サンプラーの数 x (オブジェクトの数 + ライトの数)

たとえば、ピクサーや他の大企業では、業績評価の公式に従っていますか。パフォーマンスはオブジェクトのトライアングル数に依存していませんか? たとえば、1000x1000 のフレームで平均 500 個のオブジェクトがあり、5.000.000 個の三角形で構成されるフレームの最大レンダリング時間を大まかに計算したい場合、それは可能でしょうか?

4

2 に答える 2

2

本格的な作業に使用されるレイ トレーサーは、三角形の数ではなく対数 (三角形) に比例するさまざまな加速方法を使用します。また、ライトの数に関してもサブリニアな場合があります (シーンの一部に影響を与えないライトを除外し、すべてのライトを一度にまとめてサンプリングするなど)。

一方、マテリアルの変更 (固定の解像度とシーン ジオメトリであっても) も同様に大きな変化をもたらす可能性があります。たとえば、物事を多かれ少なかれ反射/屈折させると、シーンの平均「光線深度」に大きな変化が生じる可能性があります。

一般的に言えば、ジオメトリ、ライト、およびマテリアルの特定のセットの場合、時間はレイの総数 (つまり、解像度とサンプリング レート) に線形に比例する必要がありますが、読み取り時に部分的にシリアル化される非常に大きなシーンでは、それが無視される可能性があります。シーン入力 (GB および GB の解析) と、ディスクまたはネットワークからのテクスチャの読み取り (通常、> 1 TB のテクスチャを参照するシーンがあります)。

したがって、全体として、時間は次のことにある程度関連していると予想されます。

scene_I/O + xres * yres * samples * (shading_factor + texture_factor + log(triangles)) + texture_I/O

マテリアルに関係する I/O 数と任意のシェーディングおよびテクスチャ ファクタにより、すべてを正確に予測することが困難になる場合があります。

于 2012-10-31T19:52:50.073 に答える
0

パフォーマンスの上限しか持てません。
たとえば、すべてのポリゴン (三角形など) がビューにない場合、計算は非常に高速になります。
しかし、上限を計算したい場合は、アルゴリズムの詳細を定義する必要があります: マーチング キューブを使用していますか? 背面ポリゴンなどを削除しますか...
しかし、特定のアルゴリズムでは、計算は非常に簡単です。

psオブジェクトの数は、すべてのポリゴンの合計とは無関係です。

于 2012-10-30T12:25:04.093 に答える