События
19 нояб., 23 - 21 нояб., 23
Получите конкурентное преимущество, необходимое с помощью мощных решений ИИ и облака, посещая Microsoft Ignite online.
ЗарегистрироватьсяЭтот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Указывает цикл, который выполняет итерацию до тех пор, пока не будет обнаружена инструкция прерывания.
loop |
---|
Цикл может выполнять итерацию бесконечно, хотя общее выполнение шейдера может быть принудительно завершено после выполнения определенного количества инструкций.
Блоки управления потоком могут вложить до 64 глубин на подпрограмму и main. Компилятор HLSL не будет создавать подпрограммы, превышающие это ограничение. Поведение инструкций потока управления за пределами 64 уровней на подпрограмму не определено.
Формат маркера для удобства содержит смещение соответствующей инструкции endloop в шейдере.
В следующем примере показано, как использовать инструкцию цикла.
loop
// example of termination condition
if_nz r0.x
break
endif
...
endloop
Эта инструкция применяется к следующим этапам шейдера:
Вершинный построитель текстуры | Шейдер геометрии | Построитель текстуры |
---|---|---|
x | x | x |
Эта функция поддерживается в следующих моделях шейдеров.
Модель шейдера | Поддерживается |
---|---|
Модель шейдера 5 | да |
Модель шейдера 4.1 | да |
Модель шейдера 4 | да |
Модель шейдера 3 (DirectX HLSL) | нет |
Модель шейдера 2 (DirectX HLSL) | нет |
Модель шейдера 1 (DirectX HLSL) | нет |
События
19 нояб., 23 - 21 нояб., 23
Получите конкурентное преимущество, необходимое с помощью мощных решений ИИ и облака, посещая Microsoft Ignite online.
Зарегистрироваться