2011-04-29 5 views
1

Android 용 OpenGL ES 1.5를 사용하여 화면에 그려진 서클을 얻으려고합니다. 그들은 그려지지만 x = 300, y = 500을 입력 할 수 있기를 원하며 그 좌표를 중심으로 원을 그립니다 (예 : 화면의 (300,500) 픽셀). 현재, 내가 그리는 원을 번역,하지만 정확하지, 내가 원하는 정확히 어디에 그것을 얻을하는 방법을 알고하지 않습니다OpenGL/Android - 화면 픽셀과 일치하는 2D OpenGL 직교 좌표계 설정

//doesn't take w/h ratio into consideration, not sure how to implement that 
gl.glViewport(0, 0, windowWidth, windowHeight); 
gl.glOrthof(0,windowWidth, 0, windowHeight, 1, 2); 
GLU.gluLookAt(gl, 0, 0, 5, 0, 0, 0, 0, 1, 0); 

//And for drawing a circle, with the desired x and y coordinates: 
for (int j = 0; j &lt number_Triangles; j++) { 
    x = Math.cos(theta) + xCoor; 
    y = Math.sin(theta) + yCoor; 
    z = 1; 
theta += 2 * Math.PI/(number_Triangles); 
} 
+1

"하지만 정확하지"? 무슨 뜻 이죠 – genpfault

+0

서클 '는 X에 부합하지 않는 좌표, Y 좌표는 내 레벨 에디터를 사용하여 생성 그들은 비뚤어지고 중심을 벗어 났고 정확한 컨트롤을 원합니다. –

답변

2

당신이 수행하는 경우 2D : 여기 내 마지막 시도에서 일부 깨진 코드입니다 그래픽, gluOrtho2D (왼쪽, 오른쪽, 아래, 상단)를 권하고 싶습니다. 그렇게하면 화면의 각 가장자리에 매핑 할 좌표를 정확하게 제어 할 수 있습니다.

따라서, 예를 들어, 당신은 할 수 :

gl.glViewport (0,0, windowWidth, windowHeight을); GLU.gluOrtho2D (-2.0f, 2.0f, -2.0f, 2.0f); (INT j에 대한

= .....