smoothstep

Возвращает гладкую интерполяцию от 0 до 1, если x находится в диапазоне [min, max].

ret smoothstep(min, max, x)

Parameters

Элемент Описание
Мин
[in] Минимальный диапазон параметра x .
Макс
[in] Максимальный диапазон параметра x .
X
[in] Указанное значение, которое необходимо интерполировать.

Возвращаемое значение

Возвращает значение 0, если x меньше минимального значения; 1, если x больше максимального значения; в противном случае значение от 0 до 1, если x находится в диапазоне [min, max].

Remarks

Используйте встроенную функцию smoothstep HLSL для создания плавного перехода между двумя значениями. Например, эту функцию можно использовать для плавного смешивания двух цветов.

Для ввода с плавающей запятой эта встроенная функция эквивалентна следующей функции HLSL:

float smoothstep(float min, float max, float x)
{
    float t = saturate((x - min) / (max - min));
    return t * t * (3.0f - 2.0f * t);
}

Описание типа

Имя. Тип шаблона Тип компонента Size
x скалярная, векторная или матрица плавать any
мин совпадает с входным x плавать те же измерения, что и входные x
макс совпадает с входным x плавать те же измерения, что и входные x
Ret совпадает с входным x плавать те же измерения, что и входные x

Минимальная модель шейдера

Эта функция поддерживается в следующих моделях шейдеров.

Модель шейдера Поддерживается
Модель шейдера 2 (DirectX HLSL) и более высокие модели шейдера да
Модель шейдера 1 (DirectX HLSL) Да (только vs_1_1)

См. также

Встроенные функции (DirectX HLSL)