Unfinished webgl renderer

This commit is contained in:
2026-03-06 17:35:22 -03:00
parent e5d2a3e7e2
commit caa4c39e71
17 changed files with 464 additions and 202 deletions
+7 -3
View File
@@ -1,4 +1,6 @@
type Asset = HTMLImageElement | HTMLAudioElement | string | Record<string, unknown>;
import { load_texture, Texture } from "./renderer.ts";
type Asset = Texture | HTMLAudioElement | string | Record<string, unknown>;
export class AssetManager {
static instance = new AssetManager();
@@ -16,11 +18,13 @@ export class AssetManager {
if (src.endsWith(".png")) {
const img = new Image();
const promise = new Promise<void>((resolve, reject) => {
img.onload = () => resolve();
img.onload = () => {
this.assets[key] = load_texture(img);
resolve();
};
img.onerror = () => reject(new Error(`Failed to load image: ${src}`));
});
img.src = src;
this.assets[key] = img;
this.loading_promises.push(promise);
} else if (src.endsWith(".ogg")) {
const audio = new Audio();