Задать вопрос
mrjbom
@mrjbom

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

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

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

Мне требуется, чтобы все поля в ней, включая отдельные элементы массива vertexColors были выравнены по 16 байтам.
mat4 является матрицей 4 на 4 элементов типа float, а значит она уже выровнена.
Однако три элемента массива состоящие из vec3(3 float) не являются выровненными, они будут таковыми если я использую vec4.
Могу ли я не используя vec4, задать выравнивание элементам массива?
  • Вопрос задан
  • 197 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Могу ли я не используя vec4, задать выравнивание элементам массива?

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

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

Похожие вопросы