¿Debería usar un 'vec3' dentro de un búfer uniforme o un objeto de búfer de almacenamiento de sombreador?

losvec3 El tipo es un tipo muy agradable. Solo ocupa 3 flotantes, y tengo datos que solo necesitan 3 flotantes. Y quiero usar uno en una estructura en un UBO y / o SSBO:

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

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

Luego, en mi código C o C ++, puedo hacer esto para crear estructuras de datos coincidentes:

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

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

¿Es esta una buena idea?

Respuestas a la pregunta(1)

Su respuesta a la pregunta