Изображения (Images)

Типы изображений являются непрозрачными типами, объявленными и ведущими себя как описанные ранее непрозрачные типы. Они могут быть дополнительно определены с помощью спецификаторов памяти. При объединении в массивы в шейдере, сэмплеры могут индексироваться только в динамически постоянных целочисленных выражениях, в противном случае результат не определен.

Переменные изображения являются дескрипторами (handles) одно-, двух- и трехмерных изображений, соответствующими одному уровню, или его части, текстуры изображения, связанному с единицей изображения. Существуют различные типы изображений для каждой целевой текстуры, а так же для каждого из типов — float, integer, и unsigned. Для доступа к изображениям следует использовать тип изображения, соответствующий целевой текстуре, уровень которой привязан к единице изображения. Либо для привязок к не имеющим слоев 3D или массиву изображений, в таком случае должен использоваться тип изображения, соответствующий размерности слоя изображения (т.е. слой 3D, 2DArray, Cube или CubeArray должен использовать image2D, слой 1DArray должен использовать image1D, а слой 2DMSArray должен использовать image2DMS). Если целевой тип изображения не соответствует привязанному изображению, если тип данных не соответствует привязанному изображению или если спецификатор формата layout’a не соответствует формату блока изображения как описано в разделе 8.25 «Texture Image Loads and Stores», результате доступа к изображениям будут неопределенны, но не приведут к завершению работы программы.

Переменные изображения используются в загрузке изображений, хранении и атомарных функциях, описанных в разделе 8.12 «Image Functions», описывающем изображение для доступа.

Main Admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *