Я хочу читать и писать с изображения, в котором хранятся целые числа без знака.Как я могу читать и писать?Стандартный способ чтения и записи в изображение использует imageLoad / imageStore , но при использовании спецификатора формата r32ui компилятор ошибки с no matching overloaded function found
.
Это не может скомпилировать:
#version 450
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
layout(set = 0, binding = 0, r32ui) uniform writeonly uimage3D img;
void main() {
imageStore(img, ivec3(1,2,3), uint(4));
}
Это прекрасно компилируется :
#version 450
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
layout(set = 0, binding = 0, rgba8ui) uniform writeonly uimage3D img;
void main() {
imageStore(img, ivec3(1,2,3), uvec4(4,5,6,7));
}
Я пытался использовать uvec3 для координат вместо ivec3,и uvec4 для записи данных в случае, если я неправильно понимаю, что формат хранит.Использование двухмерных изображений также не имеет значения.