Devo usar um `vec3` dentro de um objeto de buffer de armazenamento em buffer ou shader uniforme?

ovec3 type é um tipo muito bom. Leva apenas 3 carros alegóricos, e eu tenho dados que precisam apenas de 3 carros alegóricos. E eu quero usar um em uma estrutura em um UBO e / ou SSBO:

layout(std140) uniform UBO
{
  vec4 data1;
  vec3 data2;
  float data3;
};

layout(std430) buffer SSBO
{
  vec4 data1;
  vec3 data2;
  float data3;
};

Em seguida, no meu código C ou C ++, eu posso fazer isso para criar estruturas de dados correspondentes:

struct UBO
{
  vector4 data1;
  vector3 data2;
  float data3;
};

struct SSBO
{
  vector4 data1;
  vector3 data2;
  float data3;
};

isso é uma boa ideia?

questionAnswers(1)

yourAnswerToTheQuestion