2014-03-04 3 views
0

OpenGl을 사용하여 이미지를 그립니다. 이제 이미지를 움직이려고하면 너무 많이 움직입니다. 그래서 만약 내가 다음과 같이 말하면 :px를 사용하여 OpenGl에서 이미지 이동 하시겠습니까?

gl.glTranslatef(0, 1, -5.0f); 
squirrel.draw(gl); 

내가 하나를 매개 변수로 사용하면 이미지는 이제 화면의 절반에 위치하게됩니다. 어떻게하면 이렇게 말할 수 있습니까?

gl.glTranslatef(screen_width - image_width , 0); 

OpenGl에서 이미지를 그리는 다른 방법이 있습니까? 이전에 캔버스를 사용하여 이미지를 그렸고 화면에 이미지 배치에 문제가 없었습니다. openGl과 함께 문제가 발생했습니다.

답변

1

OpenGL의 화면 공간은 -1, -1 (왼쪽 위), 1,1 (오른쪽 아래)입니다. 따라서 OpenGL에 정규화 된 값을 제공해야합니다. x 방향을 따라 화면의 한쪽 끝 (-1.0)에서 다른 쪽 (1.0)으로 왼쪽에서 오른쪽으로 이동하려면 glTranslatef (2.0, 0, 0)를 사용하여 2.0으로 변환해야합니다. 이 점은 경계에 있으므로 객체의 실제 크기와 위치에 따라 조정해야합니다.

관련 문제