0

私が使用している現在の方法では、5 つのライトがある場合、fps が 30 に低下します。AAA タイトルのようなライトを使用する最良の方法は何ですか? どこにでもライトがありますが、スムーズに動きます。私が今使っているのは

Device->LightEnable(LightIndex,TRUE);
Device->SetLight(LightIndex,&Light);
4

1 に答える 1

0

多くの AAA タイトルは、ライト計算にDeferred Shadingを使用しています。フォワード レンダラーに対しては、パフォーマンスにほとんど影響を与えずに多くのライトをレンダリングできます (ただし、単純に使用すると、フォワード レンダラーよりもパフォーマンスが低下します)。

フォワード レンダラーでは、ピクセル計算ですべてのライトを反復処理する必要があります。これにより、使用できるライトの量が制限されます。これは、シェーダー命令またはシェーダー定数が制限されているためです。

Deferred Shading を使用すると、ライティングはシーン全体で後処理され、ライトは特別なピクセルシェーダーを持つジオメトリのみであり、連続してレンダリングする必要があります。

于 2013-05-15T08:30:38.287 に答える