用OpenInventor实现的NeHe OpenGL教程-第四十四课
墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
3.6k累计阅读
3.6k平均单平台
已同步平台
CSDN
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄25年
Open Inventor
当前文章被以下社区和专栏收录:
Open Inventor练习-SoRayPickAction和SoMouseButtonEvent点选操作
SoRayPickAction是三维物体射线选择操作,SoPickedPoin用来存放选择的坐标,SoMouseButtonEvent用来鼠标操作信息处理。例子中获得鼠标点击物体的类型和坐标位置信息,在Console控制台窗口中输出。代码如下。 #define COIN_DLL #define SOWIN_DLL // 加载COIN库文件 #ifdef _DEBUG #pra...
Coin3D三维可视化教程3
命名约定 在Inventor中基本数据类型的名字都是以字母Sb开始的,例如: SbColor SbViewVolume 除了上面的基本数据以外,在Inventor中所有其他的类都是以字母So作为前缀(场景对象)。例如: SoCone SoPerspectiveCamera SoMaterial SoTransform 方法和变量使用小写字母作为开头字母。在类、方法、变量的名字中,...
Open Inventor 2024.1.1 for VS2022[2024.4.4]
在 Open Inventor 的早期版本中,当与具有大量数据(即至少几 GB)的正交切片或斜切片交互时,可能会观察到许多挂起。任何需要更新大部分切片以进行渲染的更改都可能导致挂起
Coin3D三维可视化教程6
路径(Paths ) 路径用于区分场景中某个特定对象。假设,我们想使用机器人的左脚。在图 3-10 (上一节,机器人)中那个节点能代表左脚呢?我们不能简单地认为是 foot 节点,因为这个节点(foot)是被左腿和右腿同时使用的。答案是使用路径(或称为链)来表示左脚。路径起始于 robot 节点(根节点),沿着图形向下直至通到 foot 节点。图 3-12 指出了表示左脚的路径。路径包含有一个节...
【OpenGL】nehe教程第一课学习笔记
nehe教程的第一课主要讲了OpenGL程序的创建。 它引用了最基本的gl.h、glu.h、glaux.h三个头文件。 包含了五个函数,分别是InitGL、ResizeGLScene、DrawGLScene、WinProc、winMain。 winMain函数是程序的入口,它负责创建windows窗口,将openGL程序引到该窗口(通过调用WinProc函数),并通过窗口句柄
用OpenInventor实现的NeHe OpenGL教程-第十课
用OpenInventor实现的NeHe OpenGL教程-第十课 这节课我们将加载一个3D场景,并在这个场景中做自由漫游。读者将看到加载3D场景不是一件很难的事情,难点是3D场景的数据组织。不过这些是美工的事情,和我们程序员关系不大 ^_^ 。 在程序开始的部分我们新定义了一些变量,这些变量的作用和NeHe教程中定义的变量有相同的作用。SoTexture2* g_pTexture = NULL; //场景的纹理对象SoComplexity*
用OpenInventor实现的NeHe OpenGL教程-第一课
用OpenInventor实现的NeHe OpenGL教程-第一课 OpenInventor是一种基于OpenGL的面向对象的三维图形软件开发包。使用这个开发包,程序员可以快速、简洁地开发出各种类型的交互式三维图形软件。这里不对OpenInventor做详细的介绍,读者如果感兴趣,可以阅读我的blog中的这篇文章《OpenInventor 简介》。 NeHe教程是目前
用OpenInventor实现的NeHe OpenGL教程-第三十课
用OpenInventor实现的NeHe OpenGL教程-第三十课 NeHe教程在这节课介绍了碰撞检测。碰撞检测是一种比较复杂的技术。NeHe教程只是检测平面、球体、圆柱体等这些规则物体之间的碰撞检测。OpenInventor提供了任意形状物体之间的碰撞检测,当然这样的碰撞检测需要更多的计算时间。 碰撞检测的算法在NeHe的教程中已经做了详尽的解释,我们就
用OpenInventor实现的NeHe OpenGL教程-第十二课
用OpenInventor实现的NeHe OpenGL教程-第十二课 NeHe这节课主要讨论OpenGL的显示列表功能。OpenGL的显示列表是加速OpenGL性能的一种重要的手段。但在OpenInventor中,我们根本就不需要关心是否使用显示列表,因为OpenInventor内部有缓存功能,而这个缓存功能就是使用显示列表来实现的。所以我们只需要实现程序逻辑
用OpenInventor实现的NeHe OpenGL教程-第十六课
用OpenInventor实现的NeHe OpenGL教程-第十六课 这节课我们将在前面讲述的第七节课程的基础上,对场景增加上“雾 ”的效果。在OpenInventor中添加“雾 ”效果还是很容易的。OpenInventor提供了一个叫做SoEnvironment的节点类,通过这个节点类,我们就可以实现“雾 ”的效果。 下面的代码是在第
用OpenInventor实现的NeHe OpenGL教程-第二十九课
用OpenInventor实现的NeHe OpenGL教程-第二十九课 NeHe教程在这节课中介绍了如何把一块纹理贴到另一块纹理上(即多重纹理)。这节课的内容不是很难,主要是如何读取raw数据格式文件,如何计算图像的透明度等。 OpenInventor对多重纹理直接提供支持,所以我们也可以利用多重纹理来实现相同的效果。具体的代码见BuildCube2
用OpenInventor实现的NeHe OpenGL教程-第四十八课
NeHe教程在这节课向我们介绍了轨迹球技术。轨迹球技术可以让用户使用鼠标直接旋转物体,这是所有交互式3D软件必须提供的最基本的功能。NeHe教程提供的方法是在其它人的基础上做了一些修改和优化。但他的方法仍然有一些小的错误,例如,在将鼠标2D坐标位置映射到3D球体上时,他没有考虑透视因素,因此可能会稍微有些误差,不过对于一般应用来说已经足够用了。 Open Invento
用OpenInventor实现的NeHe OpenGL教程-第四十课
<br />用OpenInventor实现的NeHe OpenGL教程-第四十课 NeHe教程在这节课向我们介绍了如何模拟一根绳子的运动状态,简单的说,就是把绳子先离散化,把它想象成一个个紧密排列的点,每两个点之间有弹性约束。其实这就是简单的有限元思想。这节课的内容和上节课一样,主要是和物理、数学有关系,和图形图像的关系不大。我们的代码基本上和NeHe代码的原理类似,这里就不再详细说明了。 本课的完整代码 下载。(VC 2003 + Coin2.5) 后记OpenInventor是一种基于OpenG
用OpenInventor实现的NeHe OpenGL教程-第三十四课
<br /> 用OpenInventor实现的NeHe OpenGL教程-第三十四课 NeHe教程在这节课向我们介绍了如何从一个2D的灰度图创建地形。这节课的内容比较简单,只是从一个2D灰度图中读取灰度数据,然后将灰度数据转换成高度数据,最后将这些数据显示出来就可以了。 首先定义一些全局变量,这些变量的含义和NeHe教程完全一致#define MAP_SIZE 1024 // Size Of Our .RAW Height Map (NEW)#define STEP
1439

被折叠的 条评论
为什么被折叠?



