mirror of
https://github.com/Rezmason/matrix.git
synced 2026-04-17 22:09:28 -07:00
Code intended to leverage imports in the load functions.
This commit is contained in:
@@ -56,7 +56,7 @@ export const init = async (canvas) => {
|
||||
const adapter = await navigator.gpu.requestAdapter();
|
||||
const device = await adapter.requestDevice();
|
||||
|
||||
const cache = new Map();
|
||||
const cache = new Map(inclusions);
|
||||
const rain = {
|
||||
canvas,
|
||||
resize,
|
||||
|
||||
@@ -16,7 +16,14 @@ const loadTexture = async (device, cache, url) => {
|
||||
GPUTextureUsage.RENDER_ATTACHMENT,
|
||||
});
|
||||
} else {
|
||||
const response = await fetch(url);
|
||||
let imageURL;
|
||||
if (typeof cache.get(`import::${url}`) === "function") {
|
||||
imageURL = (await cache.get(`import::${url}`)()).default;
|
||||
} else {
|
||||
imageURL = url;
|
||||
}
|
||||
|
||||
const response = await fetch(imageURL);
|
||||
const data = await response.blob();
|
||||
const source = await createImageBitmap(data);
|
||||
const size = [source.width, source.height, 1];
|
||||
@@ -67,7 +74,13 @@ const loadShader = async (device, cache, url) => {
|
||||
if (cache.has(key)) {
|
||||
return cache.get(key);
|
||||
}
|
||||
const response = await fetch(url);
|
||||
let textURL;
|
||||
if (typeof cache.get(`import::${url}`) === "function") {
|
||||
textURL = (await cache.get(`import::${url}`)()).default;
|
||||
} else {
|
||||
textURL = url;
|
||||
}
|
||||
const response = await fetch(textURL);
|
||||
const code = await response.text();
|
||||
return {
|
||||
code,
|
||||
|
||||
Reference in New Issue
Block a user