有什么方法可以将浮点数引用为 glm::vec3

Is there any way to reference floats as a glm::vec3

我在上下文中有浮动

float* floats = calloc(3, sizeof(float));
float& x = floats[0];
float& y = floats[1];
float& z = floats[2];

如何将它们分配给 glm::vec3 以便我可以对它们执行操作?真的是:

glm::vec3 vertex = { x, y, z };
// Transform and Rotate vertex
X = vertex.x;
y = vertex.y;
z = vertex.z;

或者有什么方法可以将值绑定到 vec3

转换为 vec3 按预期工作,当我更改 vec3 值时底层浮点数发生变化。

vec3& vertex = (*reinterpret_cast<vec3*>(floats));
vertex.x = 1;
assert(floats[0] == vertex.x);