2.0.1 • Published 7 months ago

@epok.tech/glsl-aspect v2.0.1

Weekly downloads
3
License
MIT
Repository
github
Last release
7 months ago

glsl-aspect

Small GLSL utility for aspect ratios in 1-4 dimensions - cover, contain, and flexible.

Installation

Install from npm using:

npm install @epok.tech/glsl-aspect

or:

yarn add @epok.tech/glsl-aspect

Usage

See the demo and its source code.

#pragma glslify: aspect = require(@epok.tech/glsl-aspect/src);
#pragma glslify: aspectCover = require(@epok.tech/glsl-aspect/src/cover);
#pragma glslify: aspectContain = require(@epok.tech/glsl-aspect/src/contain);

// These may set to any value:
vec4 size;
vec4 scale;
vec4 uv;

// Various uses and dimensions:
float scaled = uv.x*aspect(size.x, scale.x);
vec2 scaledByType = uv.yz*aspect(size.yz, scale.yz);
vec3 scaledByFloat = uv.yzw*aspect(size.yzw, scale.y);

// Conveniences for covering and containing:
vec2 scaledToCover = uv.xy*aspectCover(size.xy);
vec3 scaledToContain = uv.xyz*aspectContain(size.xyz);
2.0.1

7 months ago

2.0.0

7 months ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago