读书人

问一个openGL反馈(选择)模式的有关问

发布时间: 2012-09-22 21:54:54 作者: rapoo

问一个openGL反馈(选择)模式的问题


我用opengl的反馈模式碰到一个问题,百思不得其解,或许是我的需求不符合opengl的设计?
在这个图中,黄色的是一个矩形,矩形内部有一个直线,红色的框是选择区域
这种情况下,选择模式返回2个实体,1个是黄色的矩形,一个是黑色直线,然后分别获得它们2个的较小的深度值(反馈出来的)
但这时由于视角的问题,在红色框里黄色的矩形的深度范围要小于直线,那么优先选到矩形,但我这需要优先选到直线,因为直线在矩形内部,如果这样无法选到它,那就很难选择到它了(不可能将直线单独放入到选择区中)

这样的情况该如何处理

[解决办法]
先画矩形,直线绘制矩形平面上的话,应该是先选到直线才对,方便给出代码吗?
[解决办法]
我觉得你应该遍历红色举行中所有的像素深度,只要有一个的深度对应黑线,那么就选择黑线,这相当于手动给与黑线更高的选择优先级。
[解决办法]
你的图挂了……看不见
[解决办法]
选择黑线,你不用点中黑线吗,还是点他周围那点区域,不选中就是没选择黑线啊
若是选中黑线,黑线与他"身边"的黄色比较z轴还是要高的,再转90度到背面了,正好反过来
[解决办法]
gl_select好象是返回一个数组的,你判断里面是否有直线就可以了
[解决办法]

探讨

引用:

我觉得你应该遍历红色举行中所有的像素深度,只要有一个的深度对应黑线,那么就选择黑线,这相当于手动给与黑线更高的选择优先级。


如何判断某个像素对应黑线呢?

读书人网 >C++

热点推荐