-
[OpenGL] gluUnProjectProgramming Language/OpenGL 2017. 3. 28. 11:21반응형
[OpenGL] gluUnProject
물체를 마우스로 선택할 때에 많이 사용되는 method이다.
gluUnProject
window 좌표계와 object 좌표계를 매핑시켜주는 함수이다. window상 좌표와 model view matrix, projection matrix, viewport를 이용하여 계산하며, 그 결과는 objX, objY, objZ에 저장된다. 성공 시에 GLU_TRUE, 실패했을 때 GLU_FALSE가 리턴된다.
형태
GLint gluUnProject(
GLdouble winX,
GLdouble winY,
GLdouble winZ,
const GLdouble * model,
const GLdouble * proj,
const GLint * view,
GLdouble* objX,
GLdouble* objY,
GLdouble* objZ
);
매개변수 설명
winX, winY, winZ : 매핑해야 할 window 좌표를 지정.
(
winX : window X position
winY : window Y position. OpenGL의 window는 좌측 상단이 (0,0), 그리고 우측 하단이(screen_width, screen_height)이다. 그러므로 OpenGL에서의 Y축은 window의 Y값과 반댓방향이다. 그러니까 (WindowHeight-Y축 값) 을 사용해야 한다.
winZ : near plane의 z값은 0.0, far plane의 z값은 1.0이다.
)
model : model view matrix. glGet*을 이용해서 OpenGL에서 얻어올 수 있는 값.
proj : projection matrix. OpenGL에서 얻어올 수 있는 값.
view : viewport, OpenGL에서 얻어올 수 있는 값.
objX, objY, objZ : 화면상에서 계산된 마우스의 위치.
References
https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/gluUnProject.xml
반응형'Programming Language > OpenGL' 카테고리의 다른 글
[Visual Studio] OpenGL 프로젝트 생성하기 (0) 2017.04.10 [OpenGL] glFrustum (0) 2017.03.28 [Graphics] Z-buffer algorithm | rasterization (0) 2017.03.21 [OpenGL] call back 함수 | 키보드, 마우스 입력 받기 (0) 2017.03.21 [OpenGL] glViewport (0) 2017.03.21