Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В следующей таблице перечислены встроенные функции, доступные в HLSL. Каждая функция содержит краткое описание и ссылку на эталонную страницу, которая содержит дополнительные сведения о входном аргументе и типе возвращаемого значения.
| Имя | Описание | Минимальная модель шейдера |
|---|---|---|
| abort | Завершает текущий вызов рисования или отправки. | 4 |
| abs | Абсолютное значение (на компонент). | 1¹ |
| acos | Возвращает arccosine каждого компонента x. | 1¹ |
| all | Проверьте, являются ли все компоненты x ненулевой. | 1¹ |
| AllMemoryBarrier | Блокирует выполнение всех потоков в группе, пока не будут завершены все доступы к памяти. | 5 |
| AllMemoryBarrierWithGroupSync | Блокирует выполнение всех потоков в группе до тех пор, пока все доступы к памяти не будут завершены, и все потоки в группе достигли этого вызова. | 5 |
| любой | Проверьте, не является ли какой-либо компонент x ненулевой. | 1¹ |
| asdouble | Переинтерпретирует значение приведения в двойник. | 5 |
| asfloat | Преобразуйте входной тип в float. | 4 |
| asin | Возвращает арксину каждого компонента x. | 1¹ |
| asint | Преобразуйте входной тип в целое число. | 4 |
| asuint | Повторно интерпретирует битовый шаблон 64-разрядного типа в uint. | 5 |
| asuint | Преобразуйте входной тип в целое число без знака. | 4 |
| atan | Возвращает арктангент x. | 1¹ |
| atan2 | Возвращает арктангент двух значений (x,y). | 1¹ |
| ceil | Возвращает наименьшее целое число, которое больше или равно x. | 1¹ |
| CheckAccessFullyMapped | Определяет, обращаются ли все значения из операции "Образец" или "Загрузка", к сопоставленным плиткам в ресурсе с плитками. | 5 |
| Зажим | Зажимает x к диапазону [min, max]. | 1¹ |
| clip | Дис карта отображает текущий пиксель, если любой компонент x меньше нуля. | 1¹ |
| cos | Возвращает косинус x. | 1¹ |
| cosh | Возвращает гиперболический косинус x. | 1¹ |
| countbits | Подсчитывает количество битов (на компонент) во входном целочисленном значении. | 5 |
| Крест | Возвращает кросс-продукт двух трехмерных векторов. | 1¹ |
| D3DCOLORtoUBYTE4 | Swizzles и масштабируемые компоненты 4D-вектора xto компенсируют отсутствие поддержки UBYTE4 в некоторых оборудованиях. | 1¹ |
| Ddx | Возвращает частичное производное x относительно координаты x-пробела экрана. | 2¹ |
| ddx_coarse | Вычисляет частичное производное с низкой точностью относительно координаты x-пространства экрана. | 5 |
| ddx_fine | Вычисляет частичное производное с высокой точностью относительно координаты x-пространства экрана. | 5 |
| Ddy | Возвращает частичное производное x относительно координаты y-пространства экрана. | 2¹ |
| ddy_coarse | Вычисляет частичное производное с низкой точностью относительно координаты y-пространства экрана. | 5 |
| ddy_fine | Вычисляет частичное производное с высокой точностью относительно координаты y-пространства экрана. | 5 |
| degrees | Преобразует x из радианов в градусы. | 1¹ |
| Определитель | Возвращает детерминант квадратной матрицы m. | 1¹ |
| DeviceMemoryBarrier | Блокирует выполнение всех потоков в группе, пока не будут завершены все доступы к памяти устройства. | 5 |
| DeviceMemoryBarrierWithGroupSync | Блокирует выполнение всех потоков в группе до тех пор, пока не будет завершен доступ ко всем потокам памяти устройства, и все потоки в группе достигли этого вызова. | 5 |
| distance | Возвращает расстояние между двумя точками. | 1¹ |
| Точка | Возвращает скалярное произведение двух векторов. | 1 |
| dst | Вычисляет вектор расстояния. | 5 |
| errorf | Отправляет сообщение об ошибке в очередь сведений. | 4 |
| EvaluateAttributeCentroid | Оценивается в центроиде пикселей. | 5 |
| EvaluateAttributeAtSample | Оценивается в индексированного расположении образца. | 5 |
| EvaluateAttributeSnapped | Вычисляется в центроиде пикселей с смещением. | 5 |
| exp | Возвращает экспонент base-e. | 1¹ |
| exp2 | Базовый 2 экспонент (для каждого компонента). | 1¹ |
| f16tof32 | Преобразует float16, хранящийся в низкой половине uint, в плавающую. | 5 |
| f32tof16 | Преобразует входные данные в тип float16. | 5 |
| faceforward | Возвращает -n * sign(dot(i, ng)). | 1¹ |
| firstbithigh | Возвращает расположение первого набора бита, начиная с бита с самого высокого порядка и работы вниз на каждый компонент. | 5 |
| firstbitlow | Возвращает расположение первого набора бита, начиная с наименьшего порядка, и работает вверх на каждый компонент. | 5 |
| floor | Возвращает наибольшее целое число, которое меньше или равно x. | 1¹ |
| fma | Возвращает двойной точности умножение умножения * b + c. | 5 |
| fmod | Возвращает оставшуюся часть с плавающей запятой x/y. | 1¹ |
| Грп | Возвращает дробную часть x. | 1¹ |
| frexp | Возвращает мантиссу и экспонент x. | 2¹ |
| fwidth | Возвращает abs(ddx(x)) + abs(ddy(x)) | 2¹ |
| GetRenderTargetSampleCount | Возвращает количество примеров, предназначенных для отрисовки. | 4 |
| GetRenderTargetSamplePosition | Возвращает позицию образца (x,y) для заданного индекса образца. | 4 |
| GroupMemoryBarrier | Блокирует выполнение всех потоков в группе до тех пор, пока все общие доступы к группе не будут завершены. | 5 |
| GroupMemoryBarrierWithGroupSync | Блокирует выполнение всех потоков в группе до тех пор, пока все общие доступы к группе не будут завершены, и все потоки в группе достигли этого вызова. | 5 |
| InterlockedAdd | Выполняет гарантированное атомарное добавление значения в дест-переменную ресурса. | 5 |
| InterlockedAnd | Выполняет гарантированную атомарную и. | 5 |
| InterlockedCompareExchange | Атомарно сравнивает входные данные со значением сравнения и обменивается результатом. | 5 |
| InterlockedCompareStore | Атомарно сравнивает входные данные со значением сравнения. | 5 |
| InterlockedExchange | Присваивает значение деста и возвращает исходное значение. | 5 |
| InterlockedMax | Выполняет гарантированное атомарное максимальное значение. | 5 |
| InterlockedMin | Выполняет гарантированную атомарную минуту. | 5 |
| InterlockedOr | Выполняет гарантированную атомарную или. | 5 |
| InterlockedXor | Выполняет гарантированный атомарный xor. | 5 |
| isfinite | Возвращает значение true, если x является конечным, значение false в противном случае. | 1¹ |
| isinf | Возвращает значение true, если x имеет значение +INF или -INF, в противном случае — значение false. | 1¹ |
| isnan | Возвращает значение true, если x имеет значение NAN или QNAN, в противном случае — значение false. | 1¹ |
| ldexp | Возвращает x * 2exp | 1¹ |
| length | Возвращает длину вектора v. | 1¹ |
| lerp | Возвращает x +s(y - x). | 1¹ |
| Освещенной | Возвращает вектор освещения (внешний, диффузный, зеркальный, 1) | 1¹ |
| log | Возвращает логарифм базового e x. | 1¹ |
| log10 | Возвращает логарифм base-10 x. | 1¹ |
| log2 | Возвращает логарифм base-2 x. | 1¹ |
| Сумасшедший | Выполняет арифметическую операцию умножения и добавления трех значений. | 5 |
| max | Выбирает больше x и y. | 1¹ |
| min | Выбирает меньшее значение x и y. | 1¹ |
| modf | Разбивает значение x на дробные и целые части. | 1¹ |
| msad4 | Сравнивает 4-байтовое значение ссылки и 8-байтовое исходное значение и накапливает вектор 4 суммы. | 5 |
| mul | Выполняет умножение матрицы с помощью x и y. | 1 |
| Шум | Создает случайное значение с помощью алгоритма perlin-noise. | 1¹ |
| normalize | Возвращает нормализованный вектор. | 1¹ |
| pow | Возвращает xy. | 1¹ |
| printf | Отправляет пользовательское сообщение шейдера в очередь сведений. | 4 |
| Process2DQuadTesFactorsAvg | Создает исправленные факторы тесселяции для четырех исправлений. | 5 |
| Process2DQuadTesFactorsMax | Создает исправленные факторы тесселяции для четырех исправлений. | 5 |
| Process2DQuadTesFactorsMin | Создает исправленные факторы тесселяции для четырех исправлений. | 5 |
| ProcessIsolineTessFactors | Создает округленные факторы тесселяции для isoline. | 5 |
| ProcessQuadTesFactorsAvg | Создает исправленные факторы тесселяции для четырех исправлений. | 5 |
| ProcessQuadTesFactorsMax | Создает исправленные факторы тесселяции для четырех исправлений. | 5 |
| ProcessQuadTesFactorsMin | Создает исправленные факторы тесселяции для четырех исправлений. | 5 |
| ProcessTriTesFactorsAvg | Создает исправленные факторы тесселяции для три исправления. | 5 |
| ProcessTriTessFactorsMax | Создает исправленные факторы тесселяции для три исправления. | 5 |
| ProcessTriTesFactorsMin | Создает исправленные факторы тесселяции для три исправления. | 5 |
| radians | Преобразует x из градусов в радианы. | 1 |
| rcp | Вычисляет быстрый, приблизительный, взаимное значение для каждого компонента. | 5 |
| Отражают | Возвращает вектор отражения. | 1 |
| refract | Возвращает вектор рефракта. | 1¹ |
| обратные биты | Изменяет порядок битов для каждого компонента. | 5 |
| round | Округляет x до ближайшего целого числа | 1¹ |
| rsqrt | Возвращает значение 1 / sqrt(x) | 1¹ |
| Насытить | Зажимает x к диапазону [0, 1] | 1 |
| sign | Вычисляет знак x. | 1¹ |
| sin | Возвращает синус x | 1¹ |
| sincos | Возвращает синус и косинус x. | 1¹ |
| sinh | Возвращает гиперболический синус x | 1¹ |
| smoothstep | Возвращает гладкую интерполяцию от 0 до 1. | 1¹ |
| sqrt | Квадратный корень (на компонент) | 1¹ |
| Шаг | Возвращает (x >= a) ? 1 : 0 | 1¹ |
| tan | Возвращает тангенс x | 1¹ |
| tanh | Возвращает гиперболический тангенс x | 1¹ |
| tex1D(s, t) | Поиск текстуры 1D. | 1 |
| tex1D(s, t, ddx, ddy) | Поиск текстуры 1D. | 2¹ |
| tex1Dbias | Поиск текстуры 1D с предвзятостью. | 2¹ |
| tex1Dgrad | Поиск текстуры 1D с градиентом. | 2¹ |
| tex1Dlod | Поиск текстуры 1D с loD. | 3¹ |
| tex1Dproj | Поиск текстуры 1D с проецивным разделом. | 2¹ |
| tex2D(s, t) | Подстановка текстуры 2D. | 1¹ |
| tex2D(s, t, ddx, ddy) | Подстановка текстуры 2D. | 2¹ |
| tex2Dbias | Подстановка текстуры 2D с предвзятостью. | 2¹ |
| tex2Dgrad | Подстановка текстуры 2D с градиентом. | 2¹ |
| tex2Dlod | Подстановка текстуры 2D с loD. | 3 |
| tex2Dproj | Подстановка текстуры 2D с проецивным разделом. | 2¹ |
| tex3D(s, t) | Поиск трехмерной текстуры. | 1¹ |
| tex3D(s, t, ddx, ddy) | Поиск трехмерной текстуры. | 2¹ |
| tex3Dbias | Поиск трехмерной текстуры с предвзятостью. | 2¹ |
| tex3Dgrad | Поиск трехмерной текстуры с градиентом. | 2¹ |
| tex3Dlod | Поиск трехмерной текстуры с loD. | 3¹ |
| tex3Dproj | Подстановка трехмерной текстуры с проецивным разделом. | 2¹ |
| texCUBE(s, t) | Поиск текстур куба. | 1¹ |
| texCUBE(s, t, ddx, ddy) | Поиск текстур куба. | 2¹ |
| texCUBEbias | Поиск текстур куба с предвзятостью. | 2¹ |
| texCUBEgrad | Поиск текстур куба с градиентом. | 2¹ |
| texCUBElod | Поиск текстур куба с loD. | 3¹ |
| texCUBEproj | Поиск текстур куба с проективным разделом. | 2¹ |
| Перенести | Возвращает транспонирование матрицы m. | 1 |
| trunc | Усечение значений с плавающей запятой до целочисленных значений | 1 |
¹ см. справочную страницу ограничений.
Типы компонентов и шаблонов
Объявления встроенных функций HLSL используют типы компонентов и типы шаблонов для аргументов входных параметров и возвращаемых значений. Доступные типы перечислены в следующей таблице.
| Эти типы шаблонов | Description | Поддержка этих типов данных |
|---|---|---|
| матрицы | до 16 компонентов в зависимости от объявления | Базовые типы HLSL |
| объект | объект sampler | sampler, sampler1D, sampler2D, sampler3D, samplerCUBE |
| скаляр | 1 компонент | Базовые типы HLSL |
| vector | Минимум 1 компонента, 4 компонента максимум (включительно) | Базовые типы HLSL |
См. также