C++ 如何在OpenGL中使用框选择高效地选择对象
如何在OpenGL中高效地执行选择 我读过这篇文章,但仍有一些事情对我来说不确定 在我的申请中,我想支持两种形式的选择。首先用鼠标单击,然后使用拾取框进行选择。我的应用程序还继承了90年代和2000年代早期与OpenGL相关的一系列糟糕的编程实践,例如,它使用GL_SELECT 经过我的阅读,我明白这可能是非常低效的。我学会了两种方法来解决这个问题:C++ 如何在OpenGL中使用框选择高效地选择对象,c++,opengl,C++,Opengl,如何在OpenGL中高效地执行选择 我读过这篇文章,但仍有一些事情对我来说不确定 在我的申请中,我想支持两种形式的选择。首先用鼠标单击,然后使用拾取框进行选择。我的应用程序还继承了90年代和2000年代早期与OpenGL相关的一系列糟糕的编程实践,例如,它使用GL_SELECT 经过我的阅读,我明白这可能是非常低效的。我学会了两种方法来解决这个问题: 颜色拾取:为图形中的每个对象指定唯一的颜色 场景在1x1px虚拟窗口上渲染并读取颜色 基于碰撞检测的光线投射 问题: 如何为长方体执行颜色拾取?我
据我所知并非如此。除非您已经分析过,以验证这是否导致了问题(我打赌您没有,也不是),否则请别管它。在等待鼠标输入数百毫秒后,再快一微秒找到对象毫无意义。是要选择选择矩形中的所有对象,还是仅选择未完全遮挡的对象?因为如果你想全部选择,那就排除了颜色选择的可能性。@JerryCoffin我有很多场景,里面有几十万个对象。根据对象的复杂性和对象的数量,使用当前设置选择对象可能需要一秒钟或更长时间。我不认为这是整个过程中的瓶颈,但我想知道什么是理想的采摘方法,以供将来参考。@KristianDuske我认为直接可见的就可以了。我认为没有必要选择遮挡的项目。好消息,谢谢。