mirror of
https://github.com/Rezmason/matrix.git
synced 2026-04-21 07:19:30 -07:00
Added resolution parameter to config.
This commit is contained in:
@@ -71,6 +71,7 @@ Now you know link fu. Here's a list of customization options:
|
|||||||
- **width** - the number of columns (and rows) to draw. Default is 80.
|
- **width** - the number of columns (and rows) to draw. Default is 80.
|
||||||
- **slant** - which angle is up, in degrees. Default is 0.
|
- **slant** - which angle is up, in degrees. Default is 0.
|
||||||
- **bloomSize** - The glow quality, from 0 to 1. Default is 0.5. Lowering this value may help the digital rain run smoother on your device.
|
- **bloomSize** - The glow quality, from 0 to 1. Default is 0.5. Lowering this value may help the digital rain run smoother on your device.
|
||||||
|
- **resolution** - The image size, relative to the window size. Default is 1. Lowering this value may improve your performance, especially on high pixel density displays.
|
||||||
- **raindropLength** - the vertical scale of "raindrops" in the columns. Can be any number, even negative! Default is 1.0.
|
- **raindropLength** - the vertical scale of "raindrops" in the columns. Can be any number, even negative! Default is 1.0.
|
||||||
- **animationSpeed** - the overall speed of the animation. Can be any number, even negative! Default is 1.0.
|
- **animationSpeed** - the overall speed of the animation. Can be any number, even negative! Default is 1.0.
|
||||||
- **fallSpeed** - the speed of the rain. Can be any number, even negative! Default is 1.0.
|
- **fallSpeed** - the speed of the rain. Can be any number, even negative! Default is 1.0.
|
||||||
|
|||||||
@@ -46,7 +46,8 @@ const defaults = {
|
|||||||
{ rgb: [0.57, 0.97, 0.61], at: 1.0 }
|
{ rgb: [0.57, 0.97, 0.61], at: 1.0 }
|
||||||
],
|
],
|
||||||
raindropLength: 1,
|
raindropLength: 1,
|
||||||
slant: 0
|
slant: 0,
|
||||||
|
resolution: 1
|
||||||
};
|
};
|
||||||
|
|
||||||
const versions = {
|
const versions = {
|
||||||
@@ -129,6 +130,7 @@ const paramMapping = {
|
|||||||
version: { key: "version", parser: s => s },
|
version: { key: "version", parser: s => s },
|
||||||
effect: { key: "effect", parser: s => s },
|
effect: { key: "effect", parser: s => s },
|
||||||
width: { key: "numColumns", parser: s => nullNaN(parseInt(s)) },
|
width: { key: "numColumns", parser: s => nullNaN(parseInt(s)) },
|
||||||
|
resolution: { key: "resolution", parser: s => nullNaN(parseFloat(s)) },
|
||||||
animationSpeed: {
|
animationSpeed: {
|
||||||
key: "animationSpeed",
|
key: "animationSpeed",
|
||||||
parser: s => nullNaN(parseFloat(s))
|
parser: s => nullNaN(parseFloat(s))
|
||||||
|
|||||||
@@ -33,11 +33,12 @@ const effects = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const config = makeConfig(window.location.search);
|
const config = makeConfig(window.location.search);
|
||||||
|
const resolution = config.resolution;
|
||||||
const effect = config.effect in effects ? config.effect : "plain";
|
const effect = config.effect in effects ? config.effect : "plain";
|
||||||
|
|
||||||
const resize = () => {
|
const resize = () => {
|
||||||
canvas.width = canvas.clientWidth;
|
canvas.width = Math.ceil(canvas.clientWidth * resolution);
|
||||||
canvas.height = canvas.clientHeight;
|
canvas.height = Math.ceil(canvas.clientHeight * resolution);
|
||||||
};
|
};
|
||||||
window.onresize = resize;
|
window.onresize = resize;
|
||||||
resize();
|
resize();
|
||||||
|
|||||||
Reference in New Issue
Block a user