用OpenInventor实现的NeHe OpenGL教程-第三十课

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

OpenInventor实现的NeHe OpenGL教程-第三十课

      

 

 

NeHe教程在这节课介绍了碰撞检测。碰撞检测是一种比较复杂的技术。NeHe教程只是检测平面、球体、圆柱体等这些规则物体之间的碰撞检测。OpenInventor提供了任意形状物体之间的碰撞检测,当然这样的碰撞检测需要更多的计算时间。

 

碰撞检测的算法在NeHe的教程中已经做了详尽的解释,我们就不再赘述了。程序的主干部分就是碰撞检测的算法实现,你可以从源代码得到全部的信息,一旦碰撞的原理知道了,代码是非常简单的。

 

 

本课的完整代码下载。(VC 2003 Coin2.5

 

 

后记

OpenInventor是一种基于OpenGL的面向对象的三维图形软件开发包。使用这个开发包,程序员可以快速、简洁地开发出各种类型的交互式三维图形软件。这里不对OpenInventor做详细的介绍,读者如果感兴趣,可以阅读我的blog中的这篇文章《OpenInventor 简介》。

 

NeHe教程是目前针对初学者来说最好的OpenGL教程,它可以带领读者由浅入深,循序渐进地掌握OpenGL编程技巧。到目前为止(200711月),NeHe教程一共有48节。我的计划是使用OpenInventor来实现所有48节课程同样的效果。目的是复习和巩固OpenGL的知识,同时与各位读者交流OpenInventor的使用技巧。

 

       因为篇幅的限制,我不会介绍NeHe教程中OpenGL的实现过程,因为NeHe的教程已经讲解的很清楚了,目前网络中也有NeHe的中文版本。我将使用VC 2003作为主要的编译器。程序框架采用和NeHe一样的Win32程序框架,不使用MFC。程序也可以在VC ExpressVC 2005/2008中编译。我采用的OpenInventor开发环境是Coin,这是一个免费开源的OpenInventor开发库。文章 OpenInventorCoin3D开发环境 介绍了如何在VC中使用Coin。我使用的Coin版本是2.5。读者可以到 www.coin3d.org 中免费下载。

 

       读者可以在遵循GNU协议的条件下自由使用、修改本文的代码。水平的原因,代码可能不是最优化的,我随时期待读者的指正和交流。转载请注明。谢谢。

我的联系方式:

E-mail: < openinventor@gmail.com > < openinventor@126.com >

Blog: < http://blog.csdn.net/RobinHao >

Site: < http://www.openinventor.cn >

 
Open Inventor (Coin-4.0.1) 帮助手册 Open Inventor是目前世界上应用最为广泛的面向对象和交互式的三维图形软件开发包。SIM 开发的Coin3D是是Open Inventor三种实现之一。CoinCoin3D的核心模块。文档根据最新Coin-4.01版本构建的chm格式开发帮助文档。 立即下载

相关推荐

open inventor 碰撞检测

利用open inventor Coin3D中自带的Intersections 类实现两个物体之间的碰撞检测

coin3d碰撞检测的实现

coin3dopeninventor的阉割版,很多openinventor有的功能coin3d没有集成,那就要麻烦一些。比如碰撞检测功能,只给出了以下SoIntersectionDetectionAction.h,然而openinventor的collisionManage就很方便,很多文献里面也提到了用法。不过抱怨也没有用,感谢还有这个功能,以下是我搜集到的资料: 1、下面博客给了一个程序,

zymofffice的博客 1672

OpenInventor实现NeHe OpenGL教程-第三

OpenInventor实现NeHe OpenGL教程-第三        这节将在第二的基础上讨论如何使用颜色。与OpenGL类似,OpenInventor也提供了两种色彩模式。我们将对四边形只使用一种颜色显示,对三角形则要对每个顶点设置一个颜色,对于三角形中间点的颜色,OpenInventor将采用平滑过渡的方式来自己设置。        和上节代码一样,我们在函数B

RobinHao的专栏 2475

OpenInventor实现碰撞检测

0.准备工作本文开发环境:VS2008+Qt4.8.6+Coin3D 3.1.3 功能:实现碰撞检测 文件:model.iv1.介绍 SoIntersectionDetectionAction本文利用SoIntersectionDetectionAction类实现碰撞检测。 来看看SoIntersectionDetectionAction类: 主要用到以下函数: ① virtual vo

冯Jungle的个人博客 1413

OpenInventor实现NeHe OpenGL教程第三十

 用OpenInventor实现NeHe OpenGL教程第三十 <br /> <br /> <br />NeHe教程在这节展示的是一个游戏程序,里面包括的技术有OpenGL拾取, Alpha混合, Alpha测试, 排序。这是目前位置NeHe教程中代码量最大的一节了。<br /> <br />这节我们不打算使用OpenGL的方法来拾取物体,我们将利用OpenInventor提供给我们的更加方便的拾取功能来完成这个同样的游戏程序。OpenInventorOpenGL最大的优势就在于交互式操作

Augusdi的专栏 1466

OpenInventor实现NeHe OpenGL教程第三十

NeHe教程在这节向我们介绍了如何加载压缩和非压缩类型的TGA文件。OpenInventor已经直接支持将TGA文件(压缩和非压缩类型)作为纹理文件,所以我们不必像NeHe教程那样分析TGA文件的数据格式。   下面的函数用来加载非压缩类型的TGA文件作为纹理 SoSeparator* BuildpUncompSep(void) {      SoSeparator

wozhengtao的博客 352

OpenInventor实现NeHe OpenGL教程第三十

<br /> 用OpenInventor实现NeHe OpenGL教程第三十   NeHe教程在这节向我们介绍了如何从一个2D的灰度图创建地形。这节的内容比较简单,只是从一个2D灰度图中读取灰度数据,然后将灰度数据转换成高度数据,最后将这些数据显示出来就可以了。  首先定义一些全局变量,这些变量的含义和NeHe教程完全一致#define       MAP_SIZE  1024   // Size Of Our .RAW Height Map (NEW)#define       STEP

Augusdi的专栏 2051

OpenInventor实现NeHe OpenGL教程第三十

 NeHe教程在这节向我们介绍了如何进行物理模拟计算。这节的内容主要是和物理、数学有关系,和图形图像的关系不大。我们的代码基本上和NeHe代码的原理类似,这里就不再详细说明了。  本的完整代码 下载。(VC 2003 + Coin2.5)  后记OpenInventor是一种基于OpenGL的面向对象的三维图形软件开发包。使用这个开发包,程序员可以快速

RobinHao的专栏 3328

OpenInventor实现NeHe OpenGL教程第三十

OpenInventor实现NeHe OpenGL教程第三十<br />       <br /> <br /> <br />NeHe教程在这节中介绍了如何加载Milkshape3D建模软件所设计的模型文件。这节的内容与OpenGLOpenInventor的关系不大,主要是分析Milkshape3D的模型文件格式。我们程序中读取Milkshape3D模型文件的代码都是拷贝自NeHe教程,唯一不同的就是如何根据模型顶点数据来创建场景。如果您看过我们以前的例子,那么理解本的代码将是一件很容易的

Augusdi的专栏 1360

OpenInventor实现NeHe OpenGL教程第三十

<br />用OpenInventor实现NeHe OpenGL教程第三十   NeHe教程在这节向我们介绍了如何从资源文件中载入图像。这节的内容比较简单,只需要注意的是,Bitmap文件中每个像素颜色保存的顺序是BGR,我们应该将其转换成RGB,以便适应OpenInventor纹理节点的要求。其他的代码基本上和NeHe代码的原理类似,这里就不再详细说明了。  本的完整代码 下载。(VC 2003 + Coin2.5)  后记OpenInventor是一种基于OpenGL的面向对象的三维

Augusdi的专栏 1397

OpenInventor实现NeHe OpenGL教程第三十

  NeHe教程在这节向我们展示了放射模糊的效果。通过把渲染得图像作为纹理提取出来,在利用OpenGL本身自带的纹理过滤,就能实现这种效果。这是一节比较高级的程。OpenInventor没有提供纹理过滤的功能,所以我们只能通过直接调用OpenGL实现程。在程序中我们第一次使用了SoOffscreenRenderer节点,这个节点可以在内存中渲染某个场景,然后我们将内存中的场景图像作为

RobinHao的专栏 3526
上一篇: 用OpenInventor实现的NeHe OpenGL教程-第二十九课
下一篇: 用OpenInventor实现的NeHe OpenGL教程-第三十一课
RobinHao
博客等级 码龄25年 234粉丝 55原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值