opengl 鼠标拾取
2010-03-28 12:55
274 查看
代码
void GLWidget::MousePick(QPoint pos) { #ifndef SIZE #define SIZE 30 GLuint NameBuffer[SIZE]; //名称缓存 GLint viewport[4]; //视点 GLint hits; //设置选择模式参数 glSelectBuffer(SIZE,NameBuffer); glGetIntegerv (GL_VIEWPORT, viewport); glMatrixMode(GL_PROJECTION); glRenderMode(GL_SELECT); //保存矩阵 glPushMatrix(); glLoadIdentity(); //拾取对象 gluPickMatrix((GLdouble)pos.x(),(GLdouble)(viewport[3]-pos.y()),5,5,viewport); glOrtho(0, 600, 0, 600, 4.0, 15.0); glMatrixMode(GL_MODELVIEW); glInitNames(); glPushName(0); Paint(GL_SELECT); glMatrixMode(GL_PROJECTION); glPopMatrix(); glFlush(); hits=glRenderMode(GL_RENDER); qDebug()<<hits; if(hits>0) { qDebug()<<NameBuffer[0]<<NameBuffer[1]<<NameBuffer[2]<<NameBuffer[3]<<NameBuffer[4]<<NameBuffer[5]; } #endif }
相关文章推荐
- 关于unity的轴的移动和openGL的鼠标拾取
- 轻轻松松做OpenGL鼠标拾取
- OpenGL鼠标拾取
- OpenGL中鼠标拾取
- OpenGL鼠标拾取的实现:终于搞定(包括细节问题)
- OpenGL鼠标拾取的实现:终于搞定(包括细节问题)
- [置顶] OpenGL鼠标拾取的实现:终于搞定(包括细节问题)
- opengl中鼠标拾取操作分析
- OpenGL 射线 拾取
- 鼠标拾取原理介绍
- 深入理解OpenGL拾取模式(OpenGL Picking)
- Android OpenGL射线拾取&手势旋转(一) 推荐
- Unity 鼠标拾取
- 鼠标拾取物体并且移动
- OpenGL实现鼠标绕任意轴旋转/平移/缩放
- Unity3d 鼠标拾取
- opengl入门实例(4)-鼠标事件
- OpenGL鼠标控制绘制矩形
- osg 中鼠标拾取线段的端点和中点
- OpenGL鼠标交互