opengl中的选择基本思路:
1,获得视口信息,指定返回点击记录的数组。
2,glRenderMode(GL_SELECT)进入选择模式,
3,对名字堆栈进行初始化
4,利用gluPickMatrix构造拾取矩阵进行选择,
鼠标左键拾取cube,为了保证每次只能有一个cube被选中,MouseCB函数中对z值进行比较。保证始终z最小的cube被选择。相应的处理语句:
运行效果:
下面是整个cpp:
opengl中的选择基本思路:
1,获得视口信息,指定返回点击记录的数组。
2,glRenderMode(GL_SELECT)进入选择模式,
3,对名字堆栈进行初始化
4,利用gluPickMatrix构造拾取矩阵进行选择,
鼠标左键拾取cube,为了保证每次只能有一个cube被选中,MouseCB函数中对z值进行比较。保证始终z最小的cube被选择。相应的处理语句:
运行效果:
下面是整个cpp: