2014-08-29 2 views
1

강사가 템플릿 코드에서 "glm :: vec2"를 사용하는 과제가 있습니다. 누가 vec2가 뭔지 말해 줄 수 있니? 내가 glm 참조에서 찾을 수 없습니다. 그러나 나는 vec1을 발견 할 수있다. 이것은 내가 vec2가 2D 용이고, vec3이 3D 용이라고 생각하게 만듭니다. 그러나 나는 틀릴 수도 있습니다.glm의 vec1, vec2, vec3은 무엇이며 언제 어떻게 사용해야합니까?

누군가 vec2가 무엇이고 응용 프로그램이 무엇인지 말해 줄 수 있습니까?

편집 : 오, 이봐, 나는 선형 대수학을 많이 안다. 벡터, 행렬, 항등 행렬 및 어파 인 변환이 무엇인지 확실히 알고있다. 나는 특별히 vec2 클래스의 glm에 대해 묻고있다.

+1

glm 참조에서 찾을 수 없습니까? 슬픈, 거기 있기 때문에 :) [glm :: vec3] (http://glm.g-truc.net/0.9.5/api/a00168.html#gaa8ea2429bb3cb41a715258a447f39897) : "3 구성 요소 벡터 부동 소수점 숫자." – JBL

+1

Drop 및 JBL : 벡터 및 행렬이 무엇인지 알고 있습니다. 특히 참조를 찾을 수 없어서 glm의 vec 클래스 및 vec2, vec3 등의 차이점에 대해 구체적으로 묻습니다. –

+1

방금 ​​내 의견에 참고 링크를주었습니다 ... – JBL

답변

2

glm의 vec2는 2D 벡터를 나타내는 유틸리티 클래스이고 3D 및 4D에 각각 사용할 수있는 vec3, vec4 클래스가 있습니다.

GLM은 또한 동일한 명명 조건 mat2, mat3, mat4를 따르는 매트릭스 클래스를 제공합니다. 오버로드 된 * 연산자를 사용하여 행렬에 행렬 또는 행렬을 벡터로 곱할 수 있습니다.

이 튜토리얼을 참조 할 수 있습니다 OpenGL을의 행렬과 벡터에 대한 추가 정보를 원하시면 : opengl-tutorial.org

+0

보통 'vec4'의 'w'구성 요소는 식별자 (법선 또는 위치)이며 네 번째 차원이 아닙니다. – CoffeeandCode

+0

예, vec4를 사용할 때 대개 4 번째 좌표가 아니라 정확히 "w"를 원합니다. 튜토리얼에 자세한 내용이 포함되어 있습니다. – cdkrot

0

당신은 GLM의 type_vec.hpp에서 VEC2/VEC3/vec4의 형식 정의를 볼 수 있습니다. github repo에서보세요 here. typedef에 의해 앨리어스 된 타입은 어떤 매크로가 활성화되어 있는지에 달려 있습니다. A vec2tvec2 전문화의 별칭이 되겠지만; 예 : tvec2<float, highp>. tvec2herehere으로 정의됩니다.

관련 문제