OpenGL碰撞检测模型

     因为她又生气了,比较郁闷,又不想乱七八糟的写日志和发泄,就来写程序了。猛敲击了好几个小时后代码终于敲完了。
     2点30开始调试。遇见了22个问题。解决完拼写错误后32个问题。
     3点左右,剩下26个问题。都是说找不到类。无缘无故的。

     3点半,还是那26个问题。很恼火了。直接把所有的重来,清理工程等等。后来还剩12个。

     快4点的时候,死盯着那12个看,为什么还有12个错误。觉得和26比正好是它减2除2。呵
呵,不要笑我会这么想,因为最后那2个错误好稀奇。

     结果,因为i和j作为整型未定义,加入int后就一个错误都没了。而那24个简直就是瞎报的。又是2个小时的调试时间。哎。。下面有程序运行截图,辛勤劳动之作啊。注意上面的标题。猪,别生气了。

    

    

  整个程序效果不错,有碰撞检测,有贴图,有爆炸效果。和之前自己侧重的3D模型的导入的demo来说,这个没那些复杂,也没与用户的交互(键盘or鼠标)。

  整个程序里的碰撞检测就是简单的for循环所有运动的物体(球)与静态的物体(圆柱与墙壁)的x,y,z坐标的检测。另外的特色就是球的后部的射线效果。源代码在ID:stilling2006对应的上传资源里找找吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
OpenGL和Qt中实现鼠标选中模型的过程如下: 1. 在Qt窗口中,设置一个OpenGL的渲染窗口。 2. 使用OpenGL绘制模型并将其显示在渲染窗口中。 3. 监听鼠标事件,当鼠标点击窗口时,获取鼠标点击的位置。 4. 将鼠标点击的位置转换为OpenGL的坐标系。 5. 使用OpenGL的拾取模式,将鼠标点击位置与模型进行碰撞检测。 6. 如果鼠标点击位置与模型相交,则选中该模型。 7. 在渲染器中绘制选中模型的高亮效果。 8. 重新绘制窗口,将选中模型的高亮效果显示在窗口中。 实现鼠标选中模型的关键是在OpenGL中进行碰撞检测。可以使用射线与模型的相交算法来实现碰撞检测。具体的算法可以是Ray-Casting或Ray-Tracing。 Ray-Casting算法利用鼠标点击位置构建一条射线,然后检查该射线与模型中的三角形是否相交。如果射线与三角形相交,则认为鼠标点击位置与模型相交,并选中该模型。 Ray-Tracing算法更加精确,它会追踪射线直到与模型相交的最近点,找到最近点后则认为鼠标点击位置与模型相交,并选中该模型。 无论选择哪种算法,都需要在程序中进行相应的实现和数学计算。在检测到与模型相交后,可以对选中的模型进行某种视觉效果的处理,例如渲染器中修改模型的颜色或添加高亮效果。 以上是使用OpenGL和Qt实现鼠标选中模型的基本步骤和关键技术。根据具体情况和需求,可以对这个流程进行进一步的优化和扩展。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值