화면 정렬 쿼드가 있는데, 해당 쿼드 내에서 임의의 사각형을 확대하고 싶습니다. 그러나 수학을 얻지는 못합니다. 권리.화면 정렬 쿼드 내에서 임의의 rect를 확대하려고 시도했습니다.
변환이 제대로 작동했다고 생각합니다. 스케일링이 아닙니다. 기본적으로 내 코드는 다음과 같습니다.
//
// render once zoomed in
glPushMatrix();
glTranslatef(offX, offY, 0);
glScalef(?wtf?, ?wtf?, 1.0f);
RenderQuad();
glPopMatrix();
//
// render PIP display
glPushMatrix();
glTranslatef(0.7f, 0.7f, 0);
glScalef(0.175f, 0.175f, 1.0f);
RenderQuad();
glPopMatrix();
누구나 어떤 팁이 있습니까? 사용자가 rect 영역을 선택하면 해당 값이 [x, y, w, h]로 렌더링 객체에 전달됩니다. 여기서이 값은 뷰포트의 너비와 높이의 비율입니다.
저는 glOrtho (0, 1, 0, 1, 0, 1)를 사용하고 있습니다. 나는 왼쪽 하단 rect에서 확대를 시뮬레이트하기 위해 glOrtho (0, 0.5, 0, 0.5, 0, 1)로 변경해 보았습니다. 그러나 나는 단지 죽음의 검은 화면을 가지고 있습니다. – moswald
@mos : 당신이 다른 것을 바꾼다면 (또는 물론 그 사분면에 아무것도 그려지지 않았다면) 그 일이 일어날 수있는 방법에 관해서는 조금 잃어 버렸습니다. 아마도 당신은'glMatrixMode (GL_Projection); glLoadIdentity();'? –
Ack! 죄송합니다. 테스트를 마쳤을 때 현재 코드를 주석 처리했습니다. ... RenderQuad에 대한 호출 포함. 그 부분을 다시 넣으면 효과가있었습니다. – moswald