You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.7 KiB

smoothstep

Виконує плавну інтерполяцію Ерміта між двома значеннями

Оголошення

float smoothstep(float edge0, float edge1, float x)  
vec2 smoothstep(vec2 edge0, vec2 edge1, vec2 x)  
vec3 smoothstep(vec3 edge0, vec3 edge1, vec3 x)  
vec4 smoothstep(vec4 edge0, vec4 edge1, vec4 x)

vec2 smoothstep(float edge0, float edge1, vec2 x)  
vec3 smoothstep(float edge0, float edge1, vec3 x)  
vec4 smoothstep(float edge0, float edge1, vec4 x)

Параметри

edge0 — значення нижнього краю функції Ерміта.

edge1 — значення верхнього краю функції Ерміта.

x — значення для інтерполяції.

Опис

smoothstep() виконує плавну інтерполяцію Ерміта між 0 і 1, коли edge0 < x < edge1. Це корисно у випадках, коли потрібна порогова функція з плавним переходом. Результат smoothstep() еквівалентний до:

    genType t;  /* Or genDType t; */
    t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);
    return t * t * (3.0 - 2.0 * t);

Результат не визначено, якщо edge0 ≥ edge1.

Дивіться також

mix, step, Розділ 05: Формотворчі функції