mirror of
https://github.com/Rezmason/matrix.git
synced 2026-04-17 05:49:30 -07:00
The main module can now pick a renderer based on the "renderer" URL parameter.
This commit is contained in:
10
js/config.js
10
js/config.js
@@ -186,18 +186,18 @@ paramMapping.dropLength = paramMapping.raindropLength;
|
||||
paramMapping.angle = paramMapping.slant;
|
||||
paramMapping.colors = paramMapping.stripeColors;
|
||||
|
||||
export default (searchString) => {
|
||||
const urlParams = Object.fromEntries(
|
||||
Array.from(new URLSearchParams(searchString).entries())
|
||||
export default (urlParams) => {
|
||||
const validParams = Object.fromEntries(
|
||||
Array.from(Object.entries(urlParams))
|
||||
.filter(([key]) => key in paramMapping)
|
||||
.map(([key, value]) => [paramMapping[key].key, paramMapping[key].parser(value)])
|
||||
.filter(([_, value]) => value != null)
|
||||
);
|
||||
|
||||
const version = urlParams.version in versions ? versions[urlParams.version] : versions.classic;
|
||||
const version = validParams.version in versions ? versions[validParams.version] : versions.classic;
|
||||
|
||||
return {
|
||||
...version,
|
||||
...urlParams,
|
||||
...validParams,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -9,10 +9,11 @@ document.addEventListener("touchmove", (e) => e.preventDefault(), {
|
||||
});
|
||||
|
||||
document.body.onload = () => {
|
||||
const config = makeConfig(window.location.search);
|
||||
if (navigator.gpu != null) {
|
||||
initWebGPU(canvas, config);
|
||||
} else {
|
||||
const urlParams = Object.fromEntries(new URLSearchParams(window.location.search).entries());
|
||||
const config = makeConfig(urlParams);
|
||||
if (navigator.gpu == null || ["webgl", "regl"].includes(urlParams.renderer?.toLowerCase())) {
|
||||
initREGL(canvas, config);
|
||||
} else {
|
||||
initWebGPU(canvas, config);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user