gid.x
и gid.y
- координаты x / y текущего пикселя. Поэтому, когда вы делаете texture.read(gid.xy)
, это дает вам пиксельные данные на 4 канала.
Но «изображения», используемые в нейронных сетях, могут иметь намного больше, чем 4 канала. Вот почему тип данных для текстур texture2d_array<>
вместо texture2d<>
.
Значение gid.z
относится к индексу текстуры "срез" в этом массиве. Если изображение / тензор имеет 32 канала, то имеется 8 фрагментов текстуры (поскольку каждая текстура хранит до 4 каналов данных).
Таким образом, сетка действительно трехмерна: (x, y, срез).