void OpenGL::pickRects(){
/* GetCursorPos(&mouse);
ScreenToClient(hWnd,&mouse);
GLuint pickBuffer [32];
GLint nPicks,vpArray[4];
glRenderMode(GL_SELECT);
glSelectBuffer(32,pickBuffer);
glInitNames();
//glPushName(-1);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
//glLoadIdentity();
glGetIntegerv(GL_VIEWPORT,vpArray);
gluPickMatrix(GLdouble(mouse.x),GLdouble(vpArray[3]-mouse.y),5.0,5.0,vpArray);
// glOrtho(0,1,0,1,0,1);
//激活拾取区域。
// gluOrtho2D(0,0,Width,Height);
rects(GL_SELECT);
glMatrixMode(GL_PROJECTION);
int j;
glGetIntegerv(GL_NAME_STACK_DEPTH,&j);
cout<<j<<endl;
glPopMatrix();
glFlush();
nPicks=glRenderMode(GL_RENDER);
processPicks(nPicks,pickBuffer);
//processPicks(nPicks,pickBuffer);
*/
GetCursorPos(&mouse);
ScreenToClient(hWnd,&mouse);
GLuint selectBuf[32];
GLint hits;
GLint viewport[4
OpenGL鼠标拾取的实现:终于搞定(包括细节问题)
最新推荐文章于 2024-08-23 17:09:40 发布
本文详细介绍了在OpenGL中如何实现鼠标拾取物体的技术,涵盖了关键步骤和常见细节问题的解决,帮助读者全面理解并应用到自己的项目中。
摘要由CSDN通过智能技术生成