Taking a crack at an audio system

This commit is contained in:
Rezmason
2022-09-22 21:03:54 -07:00
parent 3843dd90d1
commit c3e2ddf843
7 changed files with 98 additions and 4 deletions

View File

@@ -17,11 +17,21 @@ const isRunningSwiftShader = () => {
return renderer.toLowerCase().includes("swiftshader");
};
const initRenderer = async (config) => {
const useWebGPU = (await supportsWebGPU()) && ["webgpu"].includes(config.renderer?.toLowerCase());
const solution = import(`./${useWebGPU ? "webgpu" : "regl"}/main.js`);
(await solution).default(canvas, config);
};
const initAudio = async (config) => {
if (!config.audio) return;
(await import("./audio.js")).default();
};
document.body.onload = async () => {
const urlParams = Object.fromEntries(new URLSearchParams(window.location.search).entries());
const config = makeConfig(urlParams);
const useWebGPU = (await supportsWebGPU()) && ["webgpu"].includes(config.renderer?.toLowerCase());
const solution = import(`./${useWebGPU ? "webgpu" : "regl"}/main.js`);
if (isRunningSwiftShader()) {
const notice = document.createElement("notice");
@@ -34,11 +44,13 @@ document.body.onload = async () => {
canvas.style.display = "none";
document.body.appendChild(notice);
document.querySelector(".blue.pill").addEventListener("click", async () => {
(await solution).default(canvas, config);
initRenderer(config);
initAudio(config);
canvas.style.display = "unset";
document.body.removeChild(notice);
});
} else {
(await solution).default(canvas, config);
initRenderer(config);
initAudio(config);
}
};