排序:
默认
按更新时间
按访问量

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

 NeHe教程在这节课向我们介绍了轨迹球技术。轨迹球技术可以让用户使用鼠标直接旋转物体,这是所有交互式3D软件必须提供的最基本的功能。NeHe教程提供的方法是在其它人的基础上做了一些修改和优化。但他的方法仍然有一些小的错误,例如,在将鼠标2D坐标位置映射到3D球体上时,他没有考虑透视因素,因此可能...

2008-07-20 00:13:00

阅读数:4480

评论数:4

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

 NeHe教程在这节课向我们介绍了Cg编程技术。Gg是nVidio公司面向GPU的语言,类似的语言还有微软的HLSL,OpenGL的GLSL,ATI的shaderMonker。使用着色器(Shader)的最大的好处就是把CPU的一些工作交给了GPU。 Coin支持OpenGL的GLSL着色器,同时...

2008-07-13 23:18:00

阅读数:3403

评论数:0

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

 NeHe教程在这节课向我们介绍了OpenGL的扩展(ARB_MULTISAMPLE)多重采样技术。利用这种技术可以实现全屏反走样。这样可以使图形看起来更美观。 OpenInventor自动支持反走样技术。关键的函数是SoWinRenderArea::setAntialiasin() ,它可以启动...

2008-07-06 10:27:00

阅读数:2810

评论数:0

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

  NeHe教程在这节课向我们介绍了OpenGL新的扩展“顶点缓存”(VBO),这种技术可以直接操作显卡,直接把顶点数据放置在显卡中的高速缓存中,极大的增加了OpenGL的绘制速度。对于使用Coin3D的用户来说,有一个非常好的消息,Coin3D内部自动支持VBO。当我们使用SoIndexedFa...

2008-07-05 17:23:00

阅读数:3092

评论数:0

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

 NeHe教程在这节课向我们介绍了3D光晕的技术。当摄像机镜头对准太阳的时候就会出现这种效果,这种技术经常用在游戏场景中。为了完成这种效果,我们需要一些数学知识,用来检测某个点或球是否在当前的视景体内。我们还需要一些纹理作为我们的光晕效果。 程序中关键的函数有:BOOL glCamera::Sph...

2008-06-29 23:45:00

阅读数:2849

评论数:0

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

 NeHe教程在这节课向我们介绍了如何使用FreeType库创建反走样字体的技术。反走样字体可以让文本看上去更漂亮。“魔兽世界”中使用的字体库就是FreeType库。直接使用FreeType库还是比较麻烦的。但对于使用Coin3D的用户来说,有一个非常好的消息,Coin3D内部自动支持FreeTy...

2008-06-29 10:47:00

阅读数:3246

评论数:0

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

  NeHe教程在这节课向我们介绍了多重视口效果。它是通过向四个视口渲染四次的方式来实现这样的效果的。在OpenInventor中可以允许创建多个Viewer,因此我们通过创建四个SoWinExaminerViewer,就可以简单地实现相同的效果了。至于创建迷宫的代码,和我们的讨论没有太大的关系,...

2008-06-15 22:59:00

阅读数:2779

评论数:0

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

 NeHe教程在这节课向我们介绍了体积雾气特效,这是一种比较新的特效,你的显卡必须支持扩展"GL_EXT_fot_coord"函数。这个特效可以使人产生在雾中漫游的感觉。 OpenInventor目前还不支持体积雾气特效,虽然我们仍然可以按照前面课程的思路,通过创建SoCall...

2008-06-10 00:12:00

阅读数:2739

评论数:0

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

 NeHe教程在这节课向我们介绍了如何模拟一根绳子的运动状态,简单的说,就是把绳子先离散化,把它想象成一个个紧密排列的点,每两个点之间有弹性约束。其实这就是简单的有限元思想。这节课的内容和上节课一样,主要是和物理、数学有关系,和图形图像的关系不大。我们的代码基本上和NeHe代码的原理类似,这里就不...

2008-06-08 20:45:00

阅读数:2572

评论数:0

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

 NeHe教程在这节课向我们介绍了如何进行物理模拟计算。这节课的内容主要是和物理、数学有关系,和图形图像的关系不大。我们的代码基本上和NeHe代码的原理类似,这里就不再详细说明了。  本课的完整代码 下载。(VC 2003 + Coin2.5)  后记OpenInventor是一种基于OpenGL...

2008-05-25 22:13:00

阅读数:2587

评论数:0

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

  NeHe教程在这节课向我们介绍了如何从资源文件中载入图像。这节课的内容比较简单,只需要注意的是,Bitmap文件中每个像素颜色保存的顺序是BGR,我们应该将其转换成RGB,以便适应OpenInventor纹理节点的要求。其他的代码基本上和NeHe代码的原理类似,这里就不再详细说明了。  本课的...

2008-05-21 21:38:00

阅读数:2504

评论数:0

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

  NeHe教程在这节课向我们展示了卡通效果。卡通效果就是在物体轮廓边上加少量的颜色。可以使用OpenGL的一维纹理映射功能来实现此效果。这里需要注意的是,OpenInventor没有提供一维纹理,但我们可以使用2维纹理来模拟,我们只需要将2维纹理的行数设置为1就可以了,具体请阅读代码。其他的代码...

2008-05-18 23:52:00

阅读数:2575

评论数:0

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

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

2008-05-17 22:21:00

阅读数:2744

评论数:0

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

  这是一节令人激动的课程。NeHe教程在这节课向我们介绍了如何在OpenGL中播放AVI文件。说来惭愧,作为一名程序员,多年来看过无数AVI格式的A片(American片,不要想歪了。^_^),但却从来没有想过如何解码AVI文件。在这个教程中我们终于有机会了解如何操作AVI文件了。当然我们不是想...

2008-05-08 21:48:00

阅读数:2767

评论数:0

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

  NeHe教程在这节课向我们介绍了如何从一个2D的灰度图创建地形。这节课的内容比较简单,只是从一个2D灰度图中读取灰度数据,然后将灰度数据转换成高度数据,最后将这些数据显示出来就可以了。  首先定义一些全局变量,这些变量的含义和NeHe教程完全一致#define       MAP_SIZE  ...

2008-05-01 22:00:00

阅读数:3004

评论数:5

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

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

2008-04-27 14:10:00

阅读数:2588

评论数:0

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

   NeHe教程在这节课展示的是一个游戏程序,里面包括的技术有OpenGL拾取, Alpha混合, Alpha测试, 排序。这是目前位置NeHe教程中代码量最大的一节课了。 这节课我们不打算使用OpenGL的方法来拾取物体,我们将利用OpenInventor提供给我们的更加方便的拾取功能来完成这...

2008-04-25 22:51:00

阅读数:2767

评论数:1

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

用OpenInventor实现的NeHe OpenGL教程-第三十一课         NeHe教程在这节课中介绍了如何加载Milkshape3D建模软件所设计的模型文件。这节课的内容与OpenGL、OpenInventor的关系不大,主要是分析Milkshape3D的模型文件格式。我们程序中读取...

2008-04-24 22:16:00

阅读数:2542

评论数:0

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

用OpenInventor实现的NeHe OpenGL教程-第三十课         NeHe教程在这节课介绍了碰撞检测。碰撞检测是一种比较复杂的技术。NeHe教程只是检测平面、球体、圆柱体等这些规则物体之间的碰撞检测。OpenInventor提供了任意形状物体之间的碰撞检测,当然这样的碰撞检测需...

2008-04-22 22:02:00

阅读数:3114

评论数:2

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

 用OpenInventor实现的NeHe OpenGL教程-第二十九课         NeHe教程在这节课中介绍了如何把一块纹理贴到另一块纹理上(即多重纹理)。这节课的内容不是很难,主要是如何读取raw数据格式文件,如何计算图像的透明度等。 OpenInventor对多重纹理直接提供支持,所以...

2008-04-21 22:26:00

阅读数:2766

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭