OpenGL函数与范例解析手册

OpenGL函数与范例解析手册
作 者: 李颖
出版社: 国防工业出版社
丛编项: 工程师工具软件应用系列
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: OpenGL
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《OpenGL函数与范例解析手册》作者简介

内容简介

本书主要介绍的是OpenGL的最新版本——OpenGL1.2版的命令函数。OpenGL主要有三个函数库: GL库、GLU库和 GLUT库,这三个库的所有函数在本书都有详细全面的介绍。同时,为了说明某些常用函数的使用方法,书中还给出了完整的程序示例,以便读者能够快速掌握这些函数的使用方法。本书可以作为OpenGL程序设计者的辅助参考书,主要适用于OPenGL程序设计人员。

图书目录

第一篇GL库函数

第一章使用颜色

l. l glshadeModel--选择平面明暗模式或光滑明暗模式

1. 2 glColor--设置当前颜色

1. 3 glColorPointer--定义颜色数组

1. 4 gllndex--设置当前颜色索引

1. 5 gllndexPointer--定义颜色索引数组

1. 6 glCOforTableEXT--为目标调色板纹理指定调色板的格式和大小

1. 7 glColorsubTableEXT--指定需要替代的目标纹理调色板的一部分

第二章 绘制几何图原及物体

2. l glVertex--指定顶点

2. 2 glVertexPointer--定义顶点数据数组

2. 3 glArrayElement--指定用来绘制顶点的数组元素

2. 4 glBegin, glEnd--限定一个或多个图原顶点的绘制

2. 5 glEdgeFlag, glEdgeFlagy--指定边界标记

2. 6 glPointsize--指定光栅化点的直径

2. 7 glLinewidth--指定光栅化直线的宽度

2. 8 glLinestipple--指定点划线

2. 9 glPolygonMode--选择多边形光栅化模式

2. 10 glFrontFace--定义正面多边形和反反面多边形

2. 11 glPolygonstipple--设置多边形点划图

2. 12 glDrawElements--从数组数据绘制图原

2. 13 glRect--绘制矩形

第三章 坐标转换

3. l glTranslate--用平移矩阵乘以当前矩阵

3. 2 glRotate--用旋转矩阵乘以当前矩阵

3. 3 glscale--用缩放矩阵乘以当前矩阵

3. 4 glViewport--设置机口

3. 5 glFrustum--用透视矩阵乘以当前矩阵

3. 6 glorthO--用正视矩阵乘以当前矩阵

3. 7 glClipPlane--指定切割几何物体的平面

第四章 堆栈操作

4. l glLoadMatrix--用任意矩阵替换当前矩阵

4. 2 glMultMatrix--用任意矩阵乘以当前矩阵

4. 3 glMatrixMode--指定哪一个矩阵是当前矩阵

4. 4 glPushMatrix, glPopMatrix--压人和弹出当前矩阵堆栈

4. 5 glPushAttrib, glPopAttrib--压人和弹出属性堆栈

4. 6 glPushClientAttrib, glPopClientAttrib--在客户属性堆栈中保存和恢复客户状态变量组

4. 7 glPushName, gPopName--压人和弹出名称堆栈

4. 8 gllnitNames--初始名称堆栈

4, 9 glLoadName--向名称堆栈中装载名称

第五章 显示列表

5. l glNewList, glEndList--创建或替换一个显示列表

5. 2 glCallLISt--执行一个显示列表

5. 3 glCallLISts--执行一列显示列表

5. 4 glGenLists--生成一组空的相邻的显示列表

5. 5 glDeleteLists--删除一组相邻的显示列表

5. 6 gllSLISt--检验显示列表的存在

第六章 使用光照和材质

6. l glNormal--设置当前的法向量

6. 2 glNormalPointer--定义法向量数组

6. 3 glLight--设置光源参数

6. 4 glLightModel--设置光照模型参数

6. 5 glMaterial--为光照模型指定材质参数

6. 6 glColorMateria--使材质颜色跟踪当前颜色

第七章 像素操作

7. l glRasterPos--为像素操作指定光栅位置

7. 2 glBitmap--绘制位图

7. 3 glReadPixels--从帧缓存中读取一块像素

7. 4 glDrawPixels--将一个像素块写人帧缓存

7. 5 glCopyPixels--在帧缓存中拷贝像素

7. 6 glCopyTexlmage1D--将像素从帧缓存拷贝到一维纹理图像中

7. 7 glCopyTexlmageZD--把像素从帧缓存拷贝到二维纹理图像中

7. 8 glCopyTexsublmagelD--从帧缓存中拷贝一维纹理图像的子图像

7. 9 glCopyTexsublmageZD--从帧缓存中拷贝二维纹理图像的子图像

7. 10 glPixelZoom--指定像素缩放因子

7. 11 glPixelstore--设置像素存储模式

7. 12 glPixelTransfer--设置像素传输模式

7. 13 glPixelMap--设置像素传输映射表

第八章 纹理映射

8. l glTexlmagelD--指定一维纹理图像

8. 2 glTexlmageZD--指定二维纹理映射

8. 3 glTexParameter--设置纹理参数

8. 4 glTexsublmage1D--指定已存在的一维纹理图像的一部分

8. 5 glTexsublmageZD--指定已存在的二维纹理图像的一部分

8. 6 glTexEnv--设置纹理环境参数

8. 7 glTexCoord--设置当前纹理坐标

8. 8 glTexGen--控制纹理坐标的生成

8. 9 glTexCoordPointer--定义纹理坐标数组

8. 10 glDeleteTextures--删除命名的纹理

第九章 特殊效果操作

9. l glBlendFunc--指定像素的数学算法

9. 2 glHint--指定由实现确定的控制行为

9. 3 glFOg--指定雾化参数

第十章 帧缓存操作

10. l glClear--将缓存清除为预先的设置值

10. 2 glClearAccum--设置累加缓存的清除值

10. 3 glClearColor--设置颜色缓存的清除值

10. 4 glClearDepth--设置深度缓存的清除值

10. 5 glClearlndex--设置颜色索引缓存的清除值

10. 6 glClearstencil--设置模板缓存的清除值

10. 7 glDrawBuffer--指定绘制的颜色缓存

10. 8 gllndexMask--控制颜色索引缓存中单个位的写操作

10. 9 glColorMask--激活或关闭帧缓存颜色分量的写操作

10. 10 glDepthMask--激活或关闭对深度缓存的写操作

10. 11 glstencilMask--控制模板平面中单个位的写操作

10. 12 glAlphaFunc-一指定alpha检验函数

10. 13 glstencilFunc--设置模板检验函数和参考值

10. 14 glstencilop--设置模板检验操作

10. 15 glDepthFunc--指定深度比较中使用的数值

10. 16 glDepthRange--指定从单位化的设备坐标到窗口坐标的z值映射

10. 17 glLOgiCOp--为颜色索引绘制指定逻辑像素操作

10. 18 glACCum--对累加缓存进行操作

第十一章 绘制曲线和曲面

11. l glEvalCoord--求取激活的一维和二维纹理图

11. 2 glMapl--定义一维求值器

11. 3 glMapZ--定义二维求值器

11. 4 glMapGrid--定义一维或二维网格

11. 5 glEvalMesh--计算一维或二维点网格或线网格

11. 6 glEvalPoint--生成并求取网格中的单个点

第十二章 查询函数

12. l glGet--返回所选择的参数值

12. 2 glGetClipPlane--返回指定的切平面系数

12. 3 glGetColorTableEXT--获得当前目标纹理调色板的颜色表数据

12. 4 glGetColorTableParameterfvEXT, glGetColorTableParameterlvEXT-从颜色表中获得调色板参数

12. 5 glGetError--返回错误信息

12. 6 glGetLight--返回光源参数值

12. 7 glGetMap--返回求值器参数

12. 8 glGetMaterial--返回材质参数

12. 9 glGetPixelMap--返回指定的像素映像

12. 10 glGetPointery--返回顶点数据数组地J

12. 11 glGetPolygonstipple--返回多边形点戈

12. 12 glGetstring--返回描述当前OpenGL

12. 13 glGetTexEnv--返回纹理环境参数

12. 14 glGetTexGen--返回纹理坐标生成参数

12. 15 glGetTexlmage--返回纹理图像

12. 16 glGetTexLevelParameter--返回指定细节水平的纹理参数值

12. 17 glGetTexParameter--返回纹理参数值

第二篇GLU库函数

第一章 绘制NURBS曲线和曲面

1. l gluNewNurbsRenderer--创建一个NURBS对像

1. 2 gluNurbsProperty--设置NURBS属性

1. 3 gluNurbsCallback--为NURBS对像定义回调函数

1. 4 gluBeginCurve, gluEndCurve--限定NURBS曲线的定义

1. 5 gluNurbsCurve--定义NURBS曲线的形状

1. 6 gluDeleteNurbsRenderer--删除NURBS对像

1. 7 gluBeglnsurface, gluEndsurface--限定NURBS曲面的定义

1. 8 ghiNurbssurface--定义NURBS曲面的形状

1. 9 gluBeginTrim, gluEndTrim--限定NURBS裁剪环的定义

1. 10 gluPwlCurve--描述分段线性NURBS裁剪曲线

1. ll gfuBeglnPolygon, gluEndPolygon--限定多边形的定义

1. 12 gluPickMatrix--定义拾取区域

第二章 绘制二次几何物体

2. l gluNewQuadric--创建一个二次对象

2. 2 gluQuadricDrawsope--指定二次对象的绘制方式

2. 3 gluQuadricNormals--指定二次对象使用的法向量类型

2. 4 gluQuadricorientation--指定二次对象的内侧面或外侧面方向

2. 5 gluCylinder--绘制圆柱体

2. 6 ghisphere--绘制球体

2. 7 glllDISk--绘制圆盘

2. 8 gluPartialDisk--绘制部分圆盘

2. 9 gliJDeleteQuadric--删除二次对象

2. 10 gluQuadricTexture--指定是否为二次对象使用纹理

2. 11 ghiQuadricCallback--为二次对象定义回调

第三章 网格化

3. l gluNewTess--创建一个网格化对象

3. 2 gluTessVertex--在多边形上指定顶点

3. 3 gluTessCallback--为网格化对象定义回调

3. 4 gluTessBeglnPolygon, ghiTessEndPolygon--限定多边形的描述

3. 5 gluTessBeglnContour, gluTessEndContour--限定多边形轮廓线的定义

3. 6 gluTessProperty--设置网格化对象的属性

3. 7 ghiNextContour--标记开始绘制另一个轮廓线

3. 8 gluTessNormal--为多边形指定法向量

3. 9 gluDeleteTess--删除网格化对象

第四章 坐标变换

4. l gluOorthoZD--定义二维正视投影矩阵

4. 2 gluPerspective--创建透视投影矩阵

4. 3 gltlLOOkAt--定义视景转换

4. 4 gluProject--将物体坐标映射为窗口坐标

4. 5 gluInProject--将窗口坐标映射力物体坐标

第五章 多重映射

5. l gfuBuildlDMipmaps--创建一维多重映射

5. 2 gluBuildZDMipmaps--创建H维多重映射

5. 3 gluSCalelmage--将图像缩放到任意尺寸

第六章 查询函数

6. l ghiErrorstring--从OpenGL或GLU错误代码中生成错误字符串

6. 2 gluGetNurbsProperty--获得NURBS属性

6. 3 ghiGetstring--获得描述GLU版本号或支持GLU扩展调用的字符串

6. 4 ghiGetTessProperty--获得网格化对象的属性

第三篇GLUT库函数

使用说明

专用术语

分类

第一章 初始化和启动事件处理

1. l ghjtlnit--初始化GLUT库

1. 2 glutlnitwindowPosition--设置初始窗口位置

1. 3 glutlnitwindowsize--设置初始窗口大小

1. 4 glutlnitDisplayMode--设置初始显示模式

1. 5 glutMainLoop--进人GLUT事件处理循环

第二章 窗口管理

2. l glutCreatewindow--创建顶层窗口

2. 2 glutCreatesubwindow--创建子窗口

2. 3 ghitHidewindow--隐藏当前窗口的显示状态

2. 4 glutshowwindow--改变当前窗口的显示状态, 使其显示

2. 5 gfutsetwindowTitle--设置当前顶层窗口的窗口标题

2. 6 ghitsetlconTitle--设置当前顶层窗口的图标标题

2. 7 ghitPostRedisplay--标记当前窗口需要重新绘制

2. 8 glutswapBuffers--交换当前窗口的缓存

2. 9 glutFullscreen--关闭全屏显示

2. 10 glutPositionwindow--申请改变当前窗口的位置

2. ll gintReshapewindow--申请改变当前窗口的大小

2. 12 glutsetwindow--设置当前窗口

2. 13 ghitGetwindow--获得当前窗口的标识符

2. 14 glutPopwindow--改变当前窗口的位置, 使其前移

2. 15 ghitPtshwilldOO--改变当前窗口的位置, 使其后移

2. 16 glutDestroywindow--销毁指定的窗口

2. 17 glutlconifywindow--使当前窗口图标化显示

2. 18 glutsetCursor--设置当前窗口的鼠标形状

第三章 重叠层管理

3. l glutEstablishoverlay--创建当前窗口的重叠层

3. 2 glutUseLayer--改变当前窗口的使用层

3. 3 glutRemoveoverlay--删除当前窗口的重叠层

3. 4 glutPostoverlayRedisplay--标记当前窗口的重叠层

需要重新绘制

3. 5 glutshowoverlay--显示当前窗口的重叠层

3. 6 glutHideoverlay--显示当前窗口的重叠层

第四章 菜单管理

4. l glutCreateMenu--创建一个新的弹出式菜单

4. 2 glutAddMenuEntry--在当前菜单的底部增加一个菜单条目

4. 3 glutAddsubMenu--在当前菜单的底部增加一个子菜单触发条目

4. 4 glutAttachMenu--把当前窗口的一个鼠标按键与当前菜单的标识符联系起来

4. 5 glutGetMenu--获取当前菜单的标识符

4. 6 glutsetMenu--设置当前菜单

4. 7 glutDestroyMenu--删除指定的菜单

4. 8 glutChangeToMenuEntry--将指定的当前菜单中的菜单项更改为菜单条目

4. 9 glutChangeTosubMenu--将指定的当前菜单中的菜单项更改为子菜单触发条目

4. 10 glutRemoveMenultem--删除指定的菜单项

4. 11 glutDetachMenu--释放当前窗口的一个鼠标按键

第五章 注册国调函数

5. l glutDispfayFunc--注册当前窗口的显示回调函数

5. 2 glutReshapeFunc--注册当前窗口的形状变化回调函数

5. 3 glutMouseFunc--注册当前窗口的鼠标回调函数

5. 4 glutMotionFunc--设置移动回调函数

5. 5 glutldleFunc--设置全局的空闲回调函数

5. 6 glutVisibilityFunc--设置当前窗口的可视回调函数

5. 7 glutKeyboardFunc--注册当前窗口的键盘回调函数

5. 8 glutspecialFunc--设置当前窗口的特定键回调函数

5. 9 glutoverlayDisplayFunc--注册当前窗口的重叠层显示回调函数

5. 10 glutPassiveMotionFunc--设置当前窗口的被动移动回调函数

5. 11 glutEntryFunc--设置当前窗口的鼠标进出回调函数

5. 12 glutspaceballMotionFunc--设置当前窗口的空间球移动回调函数

5. 13 glutspaceballRotateFunc--设置当前窗口的空间球旋转回调函数

5. 14 glutspaceballButtonFunc--设置当前窗口的空间球按键回调函数

5. 15 glutButtonBoxFunc--设置当前窗口的拨号按键盒按键回调函数

5. 16 glutDialsFunc--设置当前窗口的拨号按键盒拨号回调函数

5. 17 glutTabletMotionFunc--设置图形板移动回调函数

5. 18 glutTabletButtonFunc--设置当前窗口的图形板按键回调函数

5. 19 glutMenustatusFunc--设置全局的菜单状态回调函数

5. 20 glutTimerFunc--注册按一定时间间隔触发的定时器回调函数

第六章 颜色素引映射表管理

6. l glutsetColor--设置当前窗口当前层一个颜色表单元的颜色

6. 2 glutGetColor--获得指定的索引颜色

6. 3 glutCopyColormap--将逻辑颜色表从指定的窗口拷贝到当前窗口

第七章 状态检索

7. l glutGet--检索指定的GLUT状态

7. 2 glutLayerGet--检索属于当前窗口重叠层的 GLU T状态

7. 3 glutDeviceGet--检索GLUT设备信息

7. 4 glutGetModifiers--返回修饰键在引起某些回调的事件发生时的状态

7. 5 glutExtensionsupported--判别当前OpenGL版本是否支持给定的OpenGL扩展

第八章 字体绘制

8. l glutBltmapCharcter--绘制一个位图字符

8. 2 glutBitmapwidth--返回一个位图字符的宽度

8. 3 glutstrokeCharcter--绘制一个笔画字符

8. 4 glutstrokewidth--返回一个笔画字体的宽度

第九章 几何图形绘制

9. 1 glutSolidsphere, glutwiresphere--绘制实心球体和线框球体

9. 2 glutsolidCube, glutwireCube--绘制实心立方体和线框立方体

9. 3 glutsolidCone, glutwireCone--绘制实心圆锥体和线框圆锥体

9. 4 glutsolidTorus, glutwireTorus--绘制实心圆环和线框圆环

9. 5 glutSolidDOdeCahedroll, glLltwiFeDOdechedfotl--绘制实心

十二面体和线框十二面体

9. 6 glutSolidOctahedron, glutWireOctahedron--绘制买心八面体和线框八面体

9. 7 glutsolldTetrahedron, glutwireTetrahedron--绘制实心四面体和线框四面体

9. 8 glutSollelcosahedron, glutwirelcosahedron--绘制实心二十面体和线框二十面体

9. 9 glutsolidTeapot, glutwireTeapot--绘制实心茶壶和线框茶壶