OpenGL에서 2D 개체를 선택하고 싶지만 어떻게해야할지 모릅니다. gluPickMatrix를 사용하여 3D로 표현하고 싶습니다.2D OpenGL을 선택하는 방법은 무엇입니까?
void initDraw2D(){
GLuint buff[BUFSIZE];
GLint hits, view[4];
glSelectBuffer(BUFSIZE, buff);
glGetIntegerv(GL_VIEWPORT, view);
glRenderMode(GL_SELECT);
glInitNames();
glPushName(0);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluPickMatrix(mouseX, view[3] - mouseY, 1.0, 1.0, view);
glMatrixMode(GL_MODELVIEW);
Draw();
glMatrixMode(GL_PROJECTION);
glPopMatrix();
hits = glRenderMode(GL_RENDER);
if (onSelect){
processHits(hits, buff);
onSelect = false;
}
Draw();
glutPostRedisplay();
}
을하지만 난 그것을 클릭하면이 선택하지 않은 :이 내가 시도하는 것이다.
하지만 둥근 물체 라면요? – float
@float 둥근 객체 인 경우 간단히'mouse.xy'와'round.xy' 사이의 거리를 계산 한 다음 거리가 둥근 객체의 반경보다 작 으면'isPicked == true' – Vallentin
I 이걸 사용 하겠지만, 내가 원한 것은 아니야. – float