OpenGL函数与范例解析手册

副标题:无

作   者:李颖等编著

分类号:

ISBN:9787118025880

微信扫一扫,移动浏览光盘

简介

本书主要介绍的是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--绘制实心茶壶和线框茶壶




已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

OpenGL函数与范例解析手册
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon