tangled
alpha
login
or
join now
cherry.computer
/
website
My personal site
cherry.computer
htmx
tailwind
axum
askama
0
fork
atom
overview
issues
pulls
pipelines
Maintain animation speed regardless of frametime
cherry.computer
3 years ago
4fabebbb
72979e0b
+9
-4
1 changed file
expand all
collapse all
unified
split
frontend
src
ts
logo.ts
+9
-4
frontend/src/ts/logo.ts
···
7
import { FontLoader } from "./three/FontLoader.js";
8
import { TextGeometry } from "./three/TextGeometry.js";
9
0
0
10
const scene = new Scene();
11
const camera = new PerspectiveCamera(40, 25 / 10, 0.1, 1000);
12
camera.zoom = 0.05;
···
38
camera.position.y = 1.9;
39
camera.position.z = 15;
40
41
-
function render() {
42
-
requestAnimationFrame(render);
0
43
44
if (text) {
45
-
text.rotation.y += 0.1;
46
}
47
48
renderer.render(scene, camera);
0
0
49
}
50
51
-
render();
···
7
import { FontLoader } from "./three/FontLoader.js";
8
import { TextGeometry } from "./three/TextGeometry.js";
9
10
+
let previous: DOMHighResTimeStamp;
11
+
12
const scene = new Scene();
13
const camera = new PerspectiveCamera(40, 25 / 10, 0.1, 1000);
14
camera.zoom = 0.05;
···
40
camera.position.y = 1.9;
41
camera.position.z = 15;
42
43
+
function render(now: DOMHighResTimeStamp) {
44
+
const elapsed = now - (previous ?? now);
45
+
previous = now;
46
47
if (text) {
48
+
text.rotation.y += elapsed * 0.006;
49
}
50
51
renderer.render(scene, camera);
52
+
53
+
requestAnimationFrame(render);
54
}
55
56
+
requestAnimationFrame(render);