我已将网格对象(来自blender的.obj文件)导入openGl窗口(glfw)上下文。我正在关注3D拾取的各种教程,以便我选择它。我无法理解的是,如何在一点点击时允许网格的子部分突出显示。例如,一个汽车网格,如果您点击门,整个门会突出显示。没有进入游戏引擎,因为我的意图是将这个概念应用于应用程序中的3d图表,实现这一点的最直接的方法是什么。
PS - 在有人投票支持之前,我花了几个小时在谷歌试图寻找答案,所以如果这是偏离主题/不合适的话,请道歉。
答案 0 :(得分:0)
网格具有顶点颜色或纹理形式的一些颜色信息。要突出显示网格的一部分,您需要更改使用的顶点数组或纹理的颜色信息。这可能是昂贵的cpu操作,以生成所需的数组和纹理,但在生成数据后,将其blit到屏幕不需要时间。主要的复杂性在于修改网格的数据结构。