Я пытался использовать следующий код для создания глобального списка дескрипторов текстур без привязки, отправленных в графический процессор с помощью UBO.
struct Material
{
sampler2D diff;
sampler2D spec;
sampler2D norm;
};
layout(std140, binding = 2) uniform Materials
{
Material materials[64];
};
Однако я думаю, что я заполняю буфернеправильно в c ++, без учета правильных смещений и т. д. Я не могу найти ничего о том, как макет std140 обрабатывает sampler2D. Как я должен это делать? Какие смещения мне нужно учитывать?