我试图通过调用glm :: vec3(x,y,z)= glm :: normalize(glm :: vec3(x,y,z))来规范化向量,但是当我打印新的x,y时,z它们似乎不正确,因为有些值大于1
答案 0 :(得分:1)
当你这样做时:
glm::vec3(x,y,z) = glm::normalize(glm::vec3(x,y,z));
您正在创建一个临时的,并为其指定归一化的结果。在指令结束时,临时将被删除。
为了实现这一点,请尝试以下方法:
glm::vec3 v = glm::normalize(glm::vec3(x,y,z));
并在v.x
,v.y
和v.z