¿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?