2017-07-06 8 views
0

私はフラクタルシェイダーを作成しているプロジェクトがあり、フレームレートを制御できるようにしたいと考えています。私はこれに関する情報を得るのが難しいです - ほとんど私がそれで見つけたすべては60-90fpsのフレームレートを最適化することですが、私が必要とするのは実際に約20fpsに落とすことです。シェーダのフレームレートを制御する

+0

クイックアンドダーティー:スリープ(50ミリ秒); SwapBuffers() ' – genpfault

+0

私はそれをfragシェーダで行うことができますか?明確化のために追加しようとしています –

+0

いいえ、あなたのクライアントコードに載っています。シェイダーの実行を遅らせる実際の方法はありません。 – genpfault

答えて

0

フレームレートで何かするのは悪い設計です。更新ループを変更するだけです。

シェーダは1000FPSでレンダリングできますが、実際には20FPSが必要です。静止画像をレンダリングする場合は、20または1000FPSであるかどうかはわかりません。しかし、何らかの動きが必要な場合は、気づくでしょう。だから、代わりに(動きの責任)フレームごとにシェーダー変数を更新する、唯一のすべてのn番目のフレームでそれを更新し、それはあなたに所望の効果を与える必要があり、

は、ゲームループ、例えば、約何かを参照してください:https://gamedev.stackexchange.com/questions/25767/is-it-safe-to-set-fps-rate-to-a-constant

+0

それは悪いデザインかもしれませんが、それはここで私の唯一のオプションのようなものです。私はこのshadertoyを見つけました:https://www.shadertoy.com/view/llS3Rcそれにいくつかの関連するものがあるようですが、私は色のアーティファクトなしでそれを使用する方法を理解しようとしています。 –

関連する問題