rsq — vs

Вычисляет обратный квадратный корень (только положительный) скалярного источника.

Синтаксис

rsq dst, src

 

where

  • dst — это регистр назначения.
  • src — это регистр источника. Регистр источника требует явного использования swizzle репликации, то есть должен быть указан только один из эквивалентов .x, .y, .z, .w (или .r, .g, .b, .a эквивалентов).

Комментарии

Версии вершинного шейдера 1_1 2_0 2_x 2_sw 3_0 3_sw
rsq x x x x x x

 

В следующем фрагменте кода показаны выполненные операции.

float f = abs(src0);
if (f == 0)
    f = FLT_MAX
else
{
    if (f != 1.0)
        f = 1.0/(float)sqrt(f);
}

dest.z = dest.y = dest.z = dest.w = f;

Абсолютное значение принимается перед обработкой.

Точность должна быть не менее 1,0/(2²²) абсолютной погрешности в диапазоне (1,0, 4,0), так как общие реализации разделяют мантиссу и экспоненту.

Если в источнике нет индексов, используется компонент x. Выходные данные должны быть ровно 1,0, если входные данные точно равно 1,0. Источник 0,0 дает бесконечность.

Инструкции по вершинным шейдерам