VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 718|回复: 2

opengl框选功能实现

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-26 18:40:01 | 显示全部楼层 |阅读模式
现在需要在场景编辑器中实现一个框选功能,类似于3dmax的。就是用鼠标拖拉出一个矩形出来,所有包含在矩形中的和与矩形相交的物体都被选中,高亮显示,有做过的或者有什么思路的,欢迎讨论。我没做过。没什么概念,不知道如何下手。
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-3 21:45:01 | 显示全部楼层

方法一
视锥裁剪的另外一类应用, 拉出的矩形框实际上也是一个视锥体,可以把视锥裁剪的算法应用到这里

方法二
把物体用三维变化投影到屏幕,就算他们的位置是否在线框内部

简化的办法都可以用物体中心点代表被检测物体,或者用物体的包围盒代表物体
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-3-17 11:30:01 | 显示全部楼层
谢谢happy_888的建议,对矩形框选确实可以参考视锥裁减的方法来实现,不过3dmax框选有很多种区域形状的,比如圆形,不规则多边形等。个人感觉还是应该将物体转换到2维平面后,再用某种图像处理的方法来获得选中物体的列表。不过不太清楚怎么做。还请大家多指导。大家可以用一下3dmax的区域选择功能,我要实现的就是那种功能。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表