6

C#/OpenTK/core-profile で記述された OpenGL プログラムで奇妙な現象が発生しています。~1M の頂点を持つ高さマップからマンデルブロー データを表示する場合、パフォーマンスはビュー マトリックスのスケール値によって異なります (正射投影であるため、スケールが必要です)。データは VBO を使用してレンダリングされます。レンダリング プロセスには、ライティングとシャドウ マップが含まれます。

私の唯一の推測は、シェーダーの何かが低スケール値で「エラー」を起こし、いくつかのエラー処理があるということです。ヒントはありますか?

例:

例 1 例 2

4

1 に答える 1

15

これについてはまったく異常なことは何もありません。スケール値が低い場合、メッシュは画面の大部分をカバーしないため、フラグメントはあまり生成されません。大規模なスケールでは、画面全体がメッシュで覆われ、さらに悪いことに、オーバードローが大きな要因になります。

このシナリオではフラグメントにバインドされているため、フラグメント シェーダーの複雑さを軽減することが役立ち、オーバードローを減らすための Z プリパスも役立ちます。

于 2013-09-19T10:01:17.760 に答える