Sha256: c7801be0bf8aa5a344f9e7948fb3753fa4cc8a075dcc6776a5c6da0577102f33

Contents?: true

Size: 1.41 KB

Versions: 12

Compression:

Stored size: 1.41 KB

Contents

/**
 * Compares <code>left</code> and <code>right</code> componentwise. Returns <code>true</code>
 * if they are within <code>epsilon</code> and <code>false</code> otherwise. The inputs
 * <code>left</code> and <code>right</code> can be <code>float</code>s, <code>vec2</code>s,
 * <code>vec3</code>s, or <code>vec4</code>s.
 *
 * @name czm_equalsEpsilon
 * @glslFunction
 *
 * @param {} left The first vector.
 * @param {} right The second vector.
 * @param {float} epsilon The epsilon to use for equality testing.
 * @returns {bool} <code>true</code> if the components are within <code>epsilon</code> and <code>false</code> otherwise.
 *
 * @example
 * // GLSL declarations
 * bool czm_equalsEpsilon(float left, float right, float epsilon);
 * bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon);
 * bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon);
 * bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon);
 */
bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon) {
    return all(lessThanEqual(abs(left - right), vec4(epsilon)));
}

bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon) {
    return all(lessThanEqual(abs(left - right), vec3(epsilon)));
}

bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) {
    return all(lessThanEqual(abs(left - right), vec2(epsilon)));
}

bool czm_equalsEpsilon(float left, float right, float epsilon) {
    return (abs(left - right) <= epsilon);
}

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
cesium-1.24.0 app/assets/javascripts/Cesium/Shaders/Builtin/Functions/equalsEpsilon.glsl
cesium-1.23.0 app/assets/javascripts/Cesium/Shaders/Builtin/Functions/equalsEpsilon.glsl
cesium-1.18.0 app/assets/javascripts/Cesium/Shaders/Builtin/Functions/equalsEpsilon.glsl
cesium-1.17.0 app/assets/javascripts/Cesium/Shaders/Builtin/Functions/equalsEpsilon.glsl
cesium-0.25.0 app/assets/javascripts/Shaders/Builtin/Functions/equalsEpsilon.glsl
cesium-0.24.1 app/assets/javascripts/Shaders/Builtin/Functions/equalsEpsilon.glsl
cesium-0.24.0 app/assets/javascripts/Shaders/Builtin/Functions/equalsEpsilon.glsl
cesium-0.23.0 app/assets/javascripts/Shaders/Builtin/Functions/equalsEpsilon.glsl
cesium-0.22.0 app/assets/javascripts/Shaders/Builtin/Functions/equalsEpsilon.glsl
cesium-0.21.1 app/assets/javascripts/Shaders/Builtin/Functions/equalsEpsilon.glsl
cesium-0.21 app/assets/javascripts/Shaders/Builtin/Functions/equalsEpsilon.glsl
cesium-0.20.0 app/assets/javascripts/Shaders/Builtin/Functions/equalsEpsilon.glsl