2013-02-02 17 views

cevap

20

Sadece vec3 yapıcı kullanın. Burada, 0.9.5 dalda:

glm::vec4 v4(1, 2, 3, 4); 
glm::vec3 v(v4); 
printf("%s\n", glm::to_string(v).c_str()); 

ve bu çıktıyı verir

fvec3(1.000000, 2.000000, 3.000000)

16

Swizzling olarak GLM varsayılan olarak etkin değildir adlandırma çakışmalarına neden olabilecek makroları kullanır. Bunu etkinleştirmek için: GLM olarak

#define GLM_SWIZZLE 
#include <glm/glm.hpp> 

, swizzling işlevleri kullanılarak yapılır:

vec3 v3 = v4.xyz(); 

Bkz: http://glm.g-truc.net/0.9.2/api/a00002.html