OpenGL特点及功能

 

    OpenGL是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发 的应用程序可以十分方便地在各种平台间移植;OpenGL可以与Visual C++紧密接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性;OpenGL使用简便,效率高。它具有七大功能:(以下内容部分来自网络)
1.建模:OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面绘制函数。
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)等特殊效果。从而实现了消隐算法。

 

   OpenGL官方网站:http://www.opengl.org/

   MS Windows系统中,OpelGL库(opengl32.dll)和GLU库(glu32.lib)都包含了,只要安装glut库。 glut库可以从这里下载:http://www.xmission.com/~nate/glut.html

   OpenGL命名规则。例如定义顶点的函数有很多

       glVertex3fv, glVertex3iv, glVertex3sv, glVertex4dv, glVertex4fv, glVertex4iv

   数字部分:数字部分表示API的参数个数。例如glVertex2f有x,y两个参数。
   d,f,i,s:表示参数的类型。d:GLdouble、f:GLfloat、i:GLint、s:GLshort。
   v:表示数组

例子,画二维三角形的代码如下
   glBegin(GL_TRIANGLES);
   glVertex2f( 0.0, 0.5);
   glVertex2f(-0.5, -0.5);
   glVertex2f( 0.5, -0.5);
  glEnd();

OpenGL在游戏开发中应用非常广泛,二维,三维的很绚丽的场景都能看到OpenGL的影子。



原文:https://blog.csdn.net/hantiannan/article/details/4529315
 

你可能感兴趣的:(opengl)