Кажется, я не могу найти никакой информации о том, как вычислять отступы в структуре или классе в C, C ++.
В HLSL есть структуры данных, называемые «постоянными переменными», и они очень похожи на структуры C с включенной #pragma pack (4)
. Вот ссылка для получения дополнительной информации о постоянных переменных в HLSL.
У меня проблема с попыткой создать дескриптор формата структуры. После анализа кода HLSL дескриптор константы будет содержать информацию о типах данных, содержащихся в структуре постоянной переменной. Он будет описывать тип данных каждой переменной-члена, ее смещение и общий размер структуры. Проблема, с которой я столкнулся, заключается в определении окончательного размера структуры из-за заполнения.
Если есть алгоритм для этого, то я должен быть в состоянии закодировать его и вычислить фактический размер дополнения любой «постоянной переменной» в HLSL. Проблема в том, что я не знаю, что это такое, и при этом я не знаю, где это найти?