20220728169 の変更点
#author("2024-01-06T11:50:46+09:00","default:pitablog","pitablog")
#include(include/oldblog,notitle)
CENTER:&ref(https://blog.pitan76.net/wp-content/uploads/2022/07/LWJGL33.png);
----
* 【LWJGL3】60FPSでループ処理 #3 [#title]
#splitbody{{
LEFT:
&tag(情報技術,プログラミング,Java,LWJGL,LWJGL3);
#split
RIGHT:&size(13){投稿日: 2022-07-28 (木)};
}}
#bcontents
Windowクラスへ以下の変数を追記しておく。
// 基準のFPS
public int fps = 60;
// FPS
public double fpsCap = fps;
public double time, processedTime;
以下の関数も追記
public boolean isUpdating() {
double nextTime = getTime();
double passedTime = nextTime - time;
processedTime += passedTime;
time = nextTime;
while (processedTime > 1.0/fpsCap) {
processedTime -= 1.0/fpsCap;
return true;
}
return false;
}
// 現在のFPSを取得
public double getFPS() {
return fpsCap;
}
// 時間の取得
public double getTime() {
return (double) System.nanoTime() / (double) 1000000000;
}
Windowクラスのinit()関数の最後に以下の処理を追記
time = getTime();
&ref(https://blog.pitan76.net/wp-content/uploads/2022/07/Pasted-19.png,);
* Mainクラス(動作確認) [#be9f1101]
public static void main(String[] args) {
Window window = new Window();
// ウィンドウの初期化
window.init();
// 閉じるまでループ
while (!window.isClosed()) {
if (window.isUpdating()) {
// イベントの更新
window.update();
System.out.println(window.getFPS());
// バッファの更新
window.swapBuffers();
}
}
}
&ref(https://blog.pitan76.net/wp-content/uploads/2022/07/Pasted-20.png,);
現在のFPS(60.0)が表示されたら成功です。
** コメント [#comment]
#pctrlcmt
&size(10){キーワード: 描画ライブラリ, アプリ開発, アプリケーション, 描画処理, グラフィック};