有什么方法可以将浮点数引用为 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);
我在上下文中有浮动
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);