OpenGL鼠标拾取的实现:终于搞定(包括细节问题)

本文详细介绍了在OpenGL中如何实现鼠标拾取物体的技术,涵盖了关键步骤和常见细节问题的解决,帮助读者全面理解并应用到自己的项目中。
摘要由CSDN通过智能技术生成
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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值