1.0.4 • Published 5 years ago

glsl-out-of-range v1.0.4

Weekly downloads
92,400
License
MIT
Repository
github
Last release
5 years ago

glsl-out-of-range

Tests if a point is outside ranges. It could be useful in vertex & fragment shaders to support reversed ranges (bounds) in 3D/2D scenes.

Function prototypes:

bool outOfRange(float a, float b, float p);

bool outOfRange(vec2 a, vec2 b, vec2 p);

bool outOfRange(vec3 a, vec3 b, vec3 p);

bool outOfRange(vec4 a, vec4 b, vec4 p);

Please note that in the case of vec4 input arguments, only 3 tests are made i.e. for xyz and not for w.

Example

#pragma glslify: outOfRange = require(glsl-out-of-range)

void main() {
  if (outOfRange(bounds[0], bounds[1], position)) discard;

  gl_FragColor = vec4(1.0, 0.5, 0.25, 1.0);
}

Usage

Install with npm:

npm install glsl-out-of-range

Then use with glslify.

API

#pragma glslify: outOfRange = require(glsl-out-of-range)

Creators

GithubTwitter
Alex C. Johnson@alexcjohnson
Étienne Tétreault-Pinard@etpinard@etpinard
Mojtaba Samimi@archmoj

Copyright and license

Code and documentation copyright 2018 Plotly, Inc.

Code released under the MIT license.

Docs released under the Creative Commons license.