336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

void glMatrixMode(GLenum mode);
cs

mode로는 (1) GL_MODELVIEW, (2) GL_PROJECTION, (3) GL_TEXTURE 가 있다.

(1) GL_MODELVIEW 는 화면에 형상을 그리면 GL_MODELVIEW 행렬을 곱해서 실제적 위치를 정한다. 이는 glTanslatef, glRotatef, glScalef 등을 통해 물체 위치를 변환하는 것이며, '모델링 변환'이라 부른다.
(2) 는 화면에 어떻게 나타나게 할 것인지를 결정한다.


void glTranslatef(GLfloat x, GLfloat y, GLfloat z);
cs
이동을 결정한다. 입력된 값은 지정된 해당 행렬의 4열에 1,2,3행에 값이 들어간다.
x' = X + x;
y' = Y + y;
z' = Z + z;

void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
cs

지정 된 축에 대해서 angle만큼의 회전행렬을 곱한다.

void glScalef(GLfloat x, GLfloat y, GLfloat z);
cs

입력된 크기만큼의 행렬을 CTM에 곱한다. 
x' = X*x;
y' = Y*y;
z' = Z*z;

void glLoadIdentity();
cs

해당 행렬을 항등행렬로 만든다.
glMatrixMode(mode) 로 결정된 행렬을 기준이다.

void glPushMatrix();
cs
glLoadIdentity() 함수를 사용하면 현재까지 사용한 CTM 행렬을 무조건 항등행렬(I)로 만들기에 행렬을 스택에 저장한 후 다시 꺼내어 사용하기 위해서 행렬을 스택에 저장하는 것으로 glPushMatrix(); 를 사용한다.

void glPopMatrix();
cs
위의 경우와 반대로 저장한 행렬을 다시 꺼내어 사용하기 위한 함수이다.



+ Recent posts