opengl图形学大作业 opengl场景建模

3D场景和人物模型都有了,怎么让人物像游戏一样在场景中四处移动?你说的unity是游戏引擎,而OpenGL是图形库,他们两个不是制作三维模型用到的软件 。\r 而你想做人物建模,可以使用Maya,C4D,3DsMax,Blender这些 。\r 如果你想让模型带颜色色彩,你还需要学习软件里面的渲染及材质球模块 。\r 如果你想让模型动一动,需要学习软件里的绑定及动画模块 。\r 但是你想完成一个像上面那样的游戏一样的,就需要这些软件然后配合unity,或者UE4也可以 。\r 除了这些软件知识外,还需要具备一定的美术基础 。比如说人体结构,人体比例 。\r 不过你要是想随便做做,美术基础就忽略吧,没有也能做,但就是做出来的模型怪异罢了 。\r
OpenGL模式是什么东西啊?OpenGL是近几年发展起来的一个性能卓越的三维图形标准,它是在SGI等多家
世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通
用共享的开放式三维图形标准 。目前,包括Microsoft、SGI、IBM、DEC、SUN、
HP等大公司都采用了OpenGL做为三维图形标准,许多软件厂商也纷纷以OpenGL
为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image
和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软
件ProEngineer、GIS软ARC/INFO等等 。值得一提的是,随着Microsoft公司在
Windows NT和最新的Windows 95中提供了OpenGL标准及OpenGL三维图形加速卡
(如北京黎明电子技术公司的AGC-3D系列三维图形加速卡)的推出,OpenGL将
在微机中有广泛地应用,同时也为广大用户提供了在微机上使用以前只能在高
性能图形工作站上运行的各种软件的机会 。
OpenGL实际上是一个开放的三维图形软件包,它独立于窗口系统和操作系统,
以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以
与Visual C紧密接口,便于实现机械手的有关计算和图形算法,可保证算
法的正确性和可靠性;OpenGL使用简便,效率高 。它具有七大功能:
1) 建模 OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提
【opengl图形学大作业 opengl场景建模】供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面
(如Bezier、Nurbs等曲线或曲面)绘制函数 。
2) 变换 OpenGL图形库的变换包括基本变换和投影变换 。基本变换有平移、
旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影)和透
视投影两种变换 。其变换方法与机器人运动学中的坐标变换方法完全一
致,有利于减少算法的运行时间,提高三维图形的显示速度 。
3) 颜色模式设置 OpenGL颜色模式有两种,即RGBA模式和颜色索引(Color Index) 。
4) 光照和材质设置 OpenGL光有辐射光(Emitted Light)、环境光
(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light) 。
材质是用光反射率来表示 。场景(Scene)中物体最终反映到人眼的颜色是光
的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色 。
5) 纹理映射(Texture Mapping) 利用OpenGL纹理映射功能可以十分逼真
地表达物体表面细节 。
6) 位图显示和图象增强 图象功能除了基本的拷贝和像素读写外,还提供
融合(Blending)、反走样(Antialiasing)和雾(fog)的特殊图象效果处理 。
以上三条可是被仿真物更具真实感,增强图形显示的效果 。
7) 双缓存(Double Buffering)动画 双缓存即前台缓存和后台缓存,简而言
之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面 。
此外,利用OpenGL还能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等
特殊效果 。从而实现了消隐算法 。

    推荐阅读