mrjbom
@mrjbom

Как задать выравнивание в массиве?

У меня есть такая структура:

struct MatrixesPushConstants
{
    glm::mat4 MVPmatrix;
    glm::vec3 vertexColors[3];
};

Мне требуется, чтобы все поля в ней, включая отдельные элементы массива vertexColors были выравнены по 16 байтам.
mat4 является матрицей 4 на 4 элементов типа float, а значит она уже выровнена.
Однако три элемента массива состоящие из vec3(3 float) не являются выровненными, они будут таковыми если я использую vec4.
Могу ли я не используя vec4, задать выравнивание элементам массива?
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Могу ли я не используя vec4, задать выравнивание элементам массива?

Не используя для элементов массива другой тип -- нет, не можешь. Не обязательно испольовать для этого vec4, можно завести какой-нибудь другой тип, породив его от vec3 и задав нужное выравнивание.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы