[OpenGL] 윈도우 좌표를 OpenGL 좌표로 변환하기2015. 11. 19. 17:49
마우스 클릭한 위치로 도형을 이동시키거나 다시 그릴 때,
윈도우(디바이스) 좌표랑 OpenGL 좌표랑 달라서
값이 전혀 이상하게 들어가는 경우가 있다.
이런 경우, 윈도우 좌표를 OpenGL 좌표로 맞춰보자
*윈도우 좌표계
*OpenGL 좌표계
출처:soen
윈도우 클라이언트 창의 max 값 변수 winWidth, winHeight 변수가 있다고 가정할 때,
void convertDeviceXYOpenGLXY(int x, int y, float* ox, float* oy)
/* x,y : 윈도우 마우스 좌표 변수 , ox, oy : Open GL 좌표로 변환 후 저장할 변수 */
{
int w = winWidth;
int h = winHeight;
*ox = (float)(x - (float)w / 2.0)*(float)(1.0 / (float)(w / 2.0)));
*oy = -(float)(y - (float)h / 2.0)*(float)(1.0 / (float)(h / 2.0)));
}
cf. 변수가 전역변수일 경우에는 따로 매개변수로 함수를 지정할 필요가 없다.
출처 http://mtsparrow.blogspot.kr/2013/04/opengl.html
'(구) 자니..?' 카테고리의 다른 글
[퍼온 자료] Lua와 C 바인딩 (0) | 2018.10.25 |
---|---|
[Lua] 기초 : if 문법 / end expected near eof (0) | 2016.09.09 |
[OpenGL] 기본 도형 그리기 (0) | 2015.11.26 |
[OpenGL] 초기 설정 및 셋팅 (1) | 2015.10.24 |