Должен ли я когда-либо использовать `vec3` внутри объекта буфера хранения унифицированного буфера или шейдера?
vec3
тип очень хороший тип. Это занимает всего 3 поплавка, и у меня есть данные, которые требуют только 3 поплавка. И я хочу использовать один в структуре в UBO и / или SSBO:
layout(std140) uniform UBO
{
vec4 data1;
vec3 data2;
float data3;
};
layout(std430) buffer SSBO
{
vec4 data1;
vec3 data2;
float data3;
};
Затем в моем коде на C или C ++ я могу сделать это для создания соответствующих структур данных:
struct UBO
{
vector4 data1;
vector3 data2;
float data3;
};
struct SSBO
{
vector4 data1;
vector3 data2;
float data3;
};
Это хорошая идея?