OpenGL超级宝典

OpenGL超级宝典
作 者: (美)Richard S.Wright,Jr.,(美)Michael Sweet著;潇湘工作室译
出版社: 人民邮电出版社
丛编项: 计算机技术译林精选系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 三维 计算机图形学 程序设计
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《OpenGL超级宝典》作者简介

内容简介

本书是一本完整而详尽的关于OpenGL的参考书,全书分为四部分:第一部分“OpenGL导言”介绍3D图形学的基本原理,读者将在此学会构造使用OpenGL的程序、设置3D渲染环境、创建和移动基本对象并给它们施加色彩和三维效果;第二部分“OpenGL渲染组成”深入阐述了OpenGL的使用、高级特性及特殊效果,如处理光栅图形、纹理贴图、3D建模和物体合成、混色和雾化效果,处理三角形、曲线和曲面、交互式图形,另外还介绍了如何利用OpenGL制作图像以及OpenGL扩展的应用;第三部分“OpenGL for Windows:OpenGL与Win32”讨论了Windows平台上的OpenGL,读者将在此学到各种驱动程序模型、硬件渲染和软件渲染、像素格式、渲染环境以及其他Windows中特有的功能;第四部分"附录"提供了有关OpenGL更新、参考资料和状态机等方面的内容。 在本书中,通常每章介绍一个方面的编程主题,并在同一章中给出与此编程主题相关的大量函数及函数说明。另外,许多函数还提供了实用的示例,使读者可以直接在自己的程序中借鉴参考。本书内容丰富而全面、结构清晰、层次分明,适用于使用OpenGL编程的各个层次的程序员。本书是有关OpenGL的参考书,它的内容完整而全面,专为使用OpenGL的新版本进行编程的Windows程序员而写。本书适用于希望掌握OpenGL并提高其图形编程的程序员,既可以作为参考书,也可以作为学习教程。在本书中,您将学到如何应用复杂的概念,如在PC上创建三维对象和场景;在实时编程中,如何在虚拟世界中移动您自己和对象。您还将会学到如何在Windows中使用快速实时渲染技术,并利用OpenGL的硬件加速功能。

图书目录

第一部分 0penGLAPI基础

第1章 3D图形学的基本原理

1. 1 简介

1. 2 计算机图形学简史

1. 2. 1 进入CRT

1. 2. 2 3D概念

1. 3 3D效果研究

1. 3. 1 透视法

1. 3. 2 色彩和明暗

1. 3. 3 光照和明暗处理

1. 3. 4 纹理贴图

1. 3. 5 雾化

1. 3. 6 混合和透明度

1. 3. 7 消除锯齿

1. 4 3D图形的常见用途

1. 4. 1 实时3D

1. 4. 2 非实时3D

1. 5 3D编程基本原理

1. 5. 1 直接模式和保留模式(场景图)

1. 5. 2 坐标系

1. 5. 3 投影:将3D变为2D

1. 6 小结

第2章 什么是OpenGL

2. 1 标准的演变

2. 1. 1 OpenGLARB

2. 1. 2 使用许可和一致性

2. 1. 3 OpenGL的未来

2. 2 OpenGL的工作方式

2. 2. 1 通用实现

2. 2. 2 硬件实现

2. 2. 3 流水线

2. 2. 4 状态机

2. 3 小结

第3章 使用OpenGL

3. 1 本章主要内容

3. 2 OpenGL是API, 不是语言

3. 2. 1 库和头文件

3. 2. 2 硬件加速

3. 2. 3 其他实现

3. 3 API的规定

3. 3. 1 数据类型

3. 3. 2 函数命名约定

3. 4 平台无关性

3. 4. 1 使用GLUT

3. 4. 2 设置编程环境

3. 5 第一个程序

3. 5. 1 头文件

3. 5. 2 主体

3. 5. 3 OpenGL图形调用

3. 6 用OpenGL绘制图形

3. 6. 1 绘制矩形

3. 6. 2 窗口的缩放比例

3. 7 应用OpenGL和GLUT制作动画

3. 8 3D效果

3. 9 小结

3. 10 参考函数

3. 10. 1 g1C1earColor

3. 10. 2 glFlush

3. 10. 3 g1Ortho

3. 10. 4 glViewport

3. 10. 5 glRect

3. 10. 6 glutCreateWindow

3. 10. 7 glutDisplayFunc

3. 10. 8 glutInitDisplayMode

3. 10. 9 glutKeyboardFunc

3. 10. 10 glutMainLoop

3. 10. 12 glutReshapeFunc

3. 10. 13 glutPostRedisplay

3. 10. 14 glutSolidCone, glutWireCone

3. 10. 15 glutSolidCube, glutWireCube

3. 10. 16 glutSolidDodecahedron, glutWirsDodecahedron

3. 10. 17 glutSolidIcosahedron, glutgWireIcosahedron

3. 10. 18 glutSolidOctahedron, glutWireoctahedron

3. 10. 19 glutSo1idSphere, glutWireSphere

3. 10. 20 glutSolidTetrahedron, glutWireTetrahedron

3. 10. 21 glutSolidTorus, glutWireTorus

3. 10. 22 glutSolidTeapot, glutWireTeapot

3. 10. 23 glutSpecialFunc

3. 10. 24 glutSwapBuffers

3. 10. 25 glutTimererFunc

第4章 在空间中绘图:线. 点和多边形

4. 1 本章主要内容

4. 2 在3D中画点

4. 3 设置3D画布

4. 4 一个3D点:顶点

4. 5 开始绘制

4. 6 设置点的大小

4. 7 在3D中画线

4. 7. 1 线段的跨接和循环

4. 7. 2 用直线逼近曲线

4. 7. 3 设置线宽

4. 7. 4 点画线

4. 8 在3D中画三角形

4. 8. 1 三角形:第一个多边形

4. 8. 2 绕法

4. 8. 3 三角条

4. 8. 4 三角扇形

4. 9 建立实心对象

4. 9. 1 设置多边形的颜色

4. 9. 2 移除被挡住的表面

4. 9. 3 剔除:为了性能而隐藏表面

4. 9. 4 多边形模式

4. 10 其他图元

4. 10. 1 四个边的多边形:四边形

4. 10. 2 通用多边形

4. 10. 3 填充多边形或点画修改

4. 10. 4 多边形的构造规则

4. 10. 5 剖面和边缘

4. 11 小结

4. 12 参考函数

4. 12. 1 g1Begin

4. 12. 2 g1CutFace

4. 12. 3 g1EdgeFlag

4. 12. 4 glEnd

4. 12. 5 glFrontFace

4. 12. 6 g1GetPo1ygonStipple

4. 12. 7 glLineStipple

4. 12. 8 glLineWidth

4. 12. 9 g1PointSize

4. 12. 10 g1Po1ygonMode

4. 12. 11 g1Po1ygonStipple

4. 12. 12 g1Vertex

第5章 在空间中移动:坐标变换

5. 1 本章主要内容

5. 2 本章与数学

5. 3 了解变换

5. 3. 1 眼坐标

5. 3. 2 视图变换

5. 3. 3 模型变换

5. 3. 4 模型视图的对偶性

5. 3. 5 投影变换

5. 3. 6 视见区变换

5. 4 矩阵

5. 4. 1 什么是矩阵

5. 4. 2 变换的流程图

5. 4. 3 模型视图矩阵

5. 4. 4 单位矩阵

5. 4. 5 矩阵堆栈

5. 4. 6 原子核示例

5. 5 使用投影

5. 5. 1 正射投影

5. 5. 2 透视投影

5. 5. 3 一个非常前卫的示例

5. 6 高级矩阵处理

5. 6. 1 如载矩阵

5. 6. 2 执行自己的变换

5. 6. 3 其他变换

5. 7 小结

5. 8 参考函数

5. 8. 1 glFrustum

5. 8. 2 glLoadIdentity

5. 8. 3 glLoadMatrix

5. 8. 4 glMatrixMode

5. 8. 5 glMultMatrix

5. 8. 6 g1PopMatrix

5. 8. 7 glPushMatrix

5. 8. 8 g1Rotate

5. 8. 9 g1Scale

5. 8. 10 g1Translate

5. 8. 11 gluLookAt

5. 8. 12 gluOrtho2D

5. 8. 13 gluPerspective

第6章 颜色. 光照和材质

6. 1 本章主要内容

6. 2 何谓颜色

6. 2. 1 光是一种光波

6. 2. 2 光是一种粒子

6. 2. 3 人的光子侦测器

6. 2. 4 计算机作为光子生成器

6. 3 PC机的颜色硬件

6. 4 PC机的显示模式

6. 4. 1 屏幕分辨率

6. 4. 2 颜色深度

6. 5 在OpenGL中使用颜色

6. 5. 1 颜色立方体

6. 5. 2 设置绘图颜色

6. 5. 3 明暗处理

6. 5. 4 设置明暗处理模型

6. 6 现实世界中的颜色

6. 6. 1 环境光

6. 6. 2 散射光

6. 6. 3 镜面光

6. 6. 4 不同光源混合

6. 7 现实世界中的材质

6. 7. 1 材质属性

6. 7. 2 给材质加光线

6. 7. 3 计算环境光的效果

6. 7. 4 散射光和镜面光的效果

6. 8 场景中加光线

6. 8. 1 使光源生效

6. 8. 2 设置光照模型

6. 8. 3 设置材质属性

6. 9 使用光源

6. 9. 1 选择方法

6. 9. 2 法线矢量

6. 9. 3 指定一条法线

6. 9. 4 单位法线

6. 9. 5 找法线

6. 9. 6 设置光源

6. 9. 7 设置材质属性

6. 9. 8 指定多边形

6. 10 光照效果

6. 10. 1 镜面光的亮斑

6. 10. 2 镜面光

6. 10. 3 镜面光反射率

6. 10. 4 镜面指数

6. 10. 5 法线的平均

6. 11 所有效果的综合

6. 11. 1 创建聚光灯

6. 11. 2 绘制聚光灯

6. 12 阴影

6. 12. 1 何谓阴影

6. 12. 2 压平物体的代码

6. 12. 3 一个阴影示例

6. 13 一小结

6. 14 参考函数

6. 14. 1 glColor

6. 14. 2 glColorMask

6. 14. 3 g1ColorMaterial

6. 14. 4 gtCullFace

6. 14. 5 glFrontFace

6. 14. 6 glGetMaterial

6. 14. 7 glGetLight

6. 14. 8 glLight

6. 14. 9 glLightModel

6. 14. 10 glWaterial

6. 14. 11 glNormal

6. 14. 12 g1ShadeModel

第二部分 OpeoGL渲染组成

第7章 OpenGL中的光栅图形

7. 1 本章主要内容

7. 2 绘制位图

7. 3 位图字体

7. 3. 1 建立简单的字体库

7. 3. 2 删除位图字体

7. 3. 3 使用位图字体绘制

7. 3. 4 显示格式化的文本

7. 3. 5 简单的文本绘制程序

7. 4 彩色位图——像素贴图

7. 5 Windows. BMP文件查看器

7. 5. 1 关于Windows位图文件

7. 5. 2 读取. BMP文件

7. 5. 3 显示位图

7. 5. 4 缩放图像

7. 6 使用透明度绘制图像

7. 7 绘制索引图像

7. 8 拍摄图像的全景

7. 9 读取图像

7. 10 复制图像

7. 11 编写. BMP文件

7. 12 小结

7. 13 参考函数

7. 13. 1 glCopyPixels

7. 13. 2 gmrawPixels

7. 13. 3 glPixeMap

7. 13. 4 glPixelStore

7. 13. 5 glPixelTranskr

7. 13. 6 glPixelZoom

7. 13. 7 glReadPixels

第8章 纹理贴图

8. 1 本章主要内容

8. 2 纹理贴图基础

8. 3 定义纹理图像

8. 3. 1 定义1D纹理

8. 3. 2 定义2D纹理

8. 3. 3 纹理模式

8. 3. 4 纹理滤镜

8. 3. 5 纹理坐标

8. 3. 6 纹理绕转

6. 4 综合应用——1D纹理示例

8. 5 2D纹理示例

8. 6 使用多个纹理图像

8. 6. 1 管理纹理对象

8. 6. 2 在内存中保存纹理对象

8. 6. 3 一个简单的纹理对象加载器

8. 7 地形查看程序

8. 8 自动生成纹理坐标

8. 9 多贴图的纹理

8. 9. 1 定义多贴图纹理

8. 9. 2 自动生成多贴图

8. 9. 3 控制细节的级别

8. 9. 4 在地形查看器中添加多贴图

8. 10 使用纹理加光照效果

8. 11 替换纹理图像数据

8. 12 3D纹理

8. 13 小结

8. 14 参考函数

8. 14. 1 g1TexCoord

8. 14. 2 g1TexEnv

8. 14. 3 glTexGen

8. 14. 4 G1TexImagelD

8. 14. 5 G1TexImage2D

8. 14. 6 GlTexlmage3D

8. 14. 7 g1TexParameter

第9章 3D建模与物体台成

9. 1 本章主要内容

9. 2 确定任务

9. 2. 1 选择投影

9. 2. 2 选择光照和材料属性

9. 2. 3 显示结果

9. 3 构造模型——每次创建一个部件

9. 3. 1 螺帽

9. 3. 2 螺杆

9. 3. 3 螺纹

9. 3. 4 组合模块

9. 4 预处理模型

9. 4. 1 显示表

9. 4. 2 纹理数组

9. 4. 3 顶点数组显示表

9. 5 小结

9. 6 参考函数

9. 6. 1 glArrayElement

9. 6. 2 glDrawArrays

9. 6. 3 g1EnableClientShte/gmisableClientState

9. 6. 4 g1CallList

9. 6. 5 g1CalLists

9. 6. 6 g1C010rPointer

9. 6. 7 glDeleteLists

9. 6. 8 glDrawElements

9. 6. 9 glDrawRangeElements

9. 6. 10 glEdgeFlagPointer

9. 6. 11 glEndList

9. 6. 12 glGenLists

9. 6. 13 glInterLeavedArrays

9. 6. 14 glIsList

9. 6. 15 glListBase

9. 6. 16 glNewList

9. 6. 17 glNormalPointer

9. 6. 18 glTexCoordPointer

9. 6. 19 glVertexPointer

第10章 实际效果:混色与雾化

10. 1 本章主要内容

10. 2 混色

10. 2. 1 使用混色方法制作透明效果

10. 2. 2 混色与消除锯齿

10. 2. 3 在画图程序中使用混色

10. 2. 4 再访地形查看程序

10. 3 雾化

10. 3. 1 画具有深度感的茶壶

10. 3. 2 其他雾化类型

10. 3. 3 雾的距离

10. 4 回到地形查看程序

10. 5 小结

10. 6 参考函数

10. 6. 1 glB1endFunc

10. 6. 2 glFog

第11章 缓冲区:不只是为了实现动画

11. 1 本章主要内容

11. 2 缓冲区是什么

11. 2. 1 WIN32环境中的缓冲区

11. 2. 2 设备场境

11. 2. 3 渲染场境

11. 3 利用WIN32函数配置缓冲区

11. 3. 1 获取设备场境

11. 3. 2 设置像素格式

11. 3. 3 创建所需的调色板

11. 3. 4 创建渲染场境

11. 4 利用GLUT函数设置缓冲区

11. 5 选择所需的缓冲区

11. 6 颜色缓冲区

11. 6. 1 双缓冲

11. 6. 2 立体缓冲

11. 6. 3 交换缓冲区

11. 7 深度缓冲区

11. 7. 1 启用深度对比

11. 7. 2 深度对比

11. 7. 3 深度值

11. 7. 4 深度缓冲区的应用

11. 7. 5 深度缓冲区的另一个应用

11. 7. 6 切除部分场景

11. 8 模版缓冲区

11. 8. 1 使用模版缓冲区

11. 8. 2 模版缓冲区函数

11. 8. 3 绘制到模版缓冲区

11. 9 累积缓冲区

11. 9. 1 利用累积缓冲区实现运动模糊

11. 9. 2 利用累积缓冲区实现消除锯齿

11. 9. 3 使用全屏消除锯齿的代价

11. 10 小结

11. 11 参考函数

11. 11. 1 gLAccum

11. 11. 2 glC1earColor

11. 11. 3 glC1earDepth

11. 11. 4 glC1earIndex

11. 11. 5 glC1earStencil

11. 11. 6 glDepthFunc

11. 11. 7 gmepthRange

11. 11. 8 glDrawBuffer

第12章 超越直线和三角形

12. 1 本章主要内容

12. 2 二次曲面

12. 2. 1 改变绘制二次曲面的方式

12. 2. 2 绘制柱体

12. 2. 3 纹理和柱体

12. 2. 4 绘制锥体

12. 2. 5 绘制盘状体

12. 2. 6 盘状体和纹理

12. 2. 7 绘制部分圆盘

12. 2. 8 绘制球体

12. 2. 9 球体和纹理

12. 3 绘制一根铅笔

12. 4 复杂多边形

12. 4. 1 GLUl. 1和GLUl. 2

12. 4. 2 创建镶嵌对象

12. 4. 3 回调函数

12. 4. 4 绘制凹多边形

12. 4. 5 绘制复杂多边形

12. 5 综合使用二次曲面和多边形镶嵌工具

12. 5. 1 建立F—16的模型

12. 5. 2 绘制F—16的模型

12. 6 镶嵌高度场(网格)

12. 6. 1 使用三角长条绘制高度场

12. 6. 2 三角长条方法的加强

12. 6. 3 其他镶嵌算法

12. 7 改进地形查看程序

12. 8 小结

12. 9 参考函数

12. 9. 1 gluCylinder

12. 9. 2 gluDeleteQuadric

12. 9. 3 gluDeleteTess

12. 9. 4 gluDisk

12. 9. 5 gluNewQuadric

12. 9. 6 gluNewTess

12. 9. 7 gluPadialDisk

12. 9. 8 gluQuadricCallback

12. 9. 9 gluQuadricDrawStyle

12. 9. 10 gluQuadricNormals

12. 9. 11 gluQuaddcOrienhtion

12. 9. 12 gluQuaddcTexture

12. 9. 13 gluSphere

12. 9. 14 gluTessBeginContour

12. 9. 15 gluTessBeginPo1ygon

12. 9. 16 gluTessCallback

12. 9. 17 gluTessEndContour

12. 9. 18 gluTessEndPo1ygon

12. 9. 19 gluTessPropeny

12. 9. 20 gluTessVertex

第13章 曲线和曲面

13. 1 本章主要内容

13. 2 曲线和曲面

13. 2. 1 参数表示法

13. 2. 2 控制点

13. 2. 3 连续性

13. 3 求值程序

13. 3. 1 2D曲线

13. 3. 2 计算曲线

13. 3. 3 3D曲面

13. 3. 4 光照和法线矢量

13. 4 NURBS

13. 4. 1 从贝塞尔到B样条

13. 4. 2 结点

13. 4. 3 创建一个NURBS曲面

13. 4. 4 NURBS属性

13. 4. 5 定义曲面

13. 4. 6 修整

13. 4. 7 Nurbs曲线

13. 5 小结

13. 6 参考函数

13. 6. 1 glEvalCoord

13. 6. 2 glEvalMesh

13. 6. 3 glEvalPoint

13. 6. 4 glGetMap

13. 6. 5 glMap

13. 6. 6 glMapGrid

13. 6. 7 gluBeginCurve

13. 6. 8 glUBeginSuuface

13. 6. 9 gluBeginlrnm

13. 6. 10 gluDeleteNurbsRenderer

13. 6. 11 g1UEndCurve

13. 6. 12 gluEndSurface

13. 6. 13 gluEndTrim

13. 6. 14 gluGethrurbsProperty

13. 6. 15 gluLoadSamPhngMatrices

13. 6. 16 gluNewNurbsRenderer

13. 6. 17 gluNurbsCallback

13. 6. 18 gluNurbsCurve

13. 6. 19 gluNurlbsProperty

13. 6. 20 gluNurbsSurface

13. 6. 21 gluPwlCurve

第14章 交互式图形

14. 1 本章主要内容

14. 2 选定

14. 2. 1 命名图元

14. 2. 2 使用选定模式

14. 2. 3 选定缓冲区

14. 2. 4 检选

14. 2. 5 分层检选

14. 3 反馈

14. 3. 1 反馈缓冲区

14. 3. 2 反馈数据

14. 3. 3 处理标记器

14. 4 反馈示例

14. 4. 1 标注反馈对象

14. 4. 2 第一步:选择对象

14. 4. 3 第二步:获取对象的反馈

14. 5 小结

14. 6 参考函数

14. 6. 1 glFeedbackBuger

14. 6. 2 glInitNames

14. 6. 3 glLoadName

14. 6. 4 glPassThrough

14. 6. 5 glPopName

14. 6. 6 glPushName

14. 6. 7 glRenderMode

14. 6. 8 glSelectBuffer

14. 6. 9 gluPickMatrix

第15章 用OpenGL制作图像

15. 1 本章主要内容

15. 2 OpenGL图像扩展的基本知识

15. 3 颜色矩阵

15. 4 卷绕(过滤)

15. 4. 1 锐化卷绕滤镜

15. 4. 2 使卷绕滤镜变模糊

15. 5 直方图均衡

15. 5. 1 获取直方因数据

15. 5. 2 获取最小数据和最大数据

15. 6 小结

15. 7 参考函数

15. 7. 1 g1Convo1utionFilterlDARB

15. 7. 2 g1ConvolutionFi1ter2DARB

15. 7. 3 g1GetHistogramARB

15. 7. 4 g1GetMinMaxARB

15. 7. 5 g1HistogramARB

15. 7. 6 glMinMaxARB

15. 7. 7 g1ResetHistogramARB

15. 7. 8 glResetMinMaxARB

第16章 常用的OpenGL扩展

16. 1 本章主要内容

16. 2 可用的扩展

16. 3 何时使用扩展

16. 4 检查扩展的可用性

16. 4. 1 访问扩展函数

16. 4. 2 扩展常量

16. 5 交换线索扩展

16. 6 顶点淘汰扩展

16. 6. 1 使用顶点淘汰扩展

16. 6. 2 Terrain示例中的顶点淘汰

16. 7 多纹理扩展

16. 7. 1 检查多纹理扩展

16. 7. 2 使用多纹理扩展

16. 8 小结

16. 9 参考函数

16. 9. 1 glActiveTextureARB

16. 9. 2 glAddSwapHintRectWIN

16. 9. 3 g1CullParameterfvSGI

16. 9. 4 glMUltiTexCoord*ARB

16. 9. 5 wglGetProcAddress

第三部分 0penGL for Windows: OpenGL与Win32

第17章 OpenGL, 像素格式和渲染场境

17. 1 本章主要内容

17. 2 OpenGL在Windows上的实现

17. 2. 1 通用OpenGL

17. 2. 2 可安装的客户驱动程序

17. 2. 3 小型客户驱动程序

17. 2. 4 小型驱动程序

17. 3 基本Windows渲染

17. 3. 1 GDI设备场境

17. 3. 2 像素格式

17. 3. 3 OpenGL渲染场境

17. 4 综合应用

17. 4. 1 创建窗口

17. 4. 2 使用OpenGL渲染场境

17. 4. 3 其他Windows消息

17. 5 Windows调色板

17. 5. 1 颜色匹配

17. 5. 2 调色板调停

17. 5. 3 为OpenGL创建调色板

17. 5. 4 调色板的创建与处理

17. 6 0penGL和Windows字体

17. 6. 1 3D字体和文本

17. 6. 2 2D字体和文本

17. 7 全屏幕渲染

17. 7. 1 创建无框窗口

17. 7. 2 创建全屏窗口

17. 8 多线程渲染

17. 9 小结

17. 10 参考函数

17. 10. 1 ChoosePixelFormat

17. 10. 2 DescribePixelFormat

17. 10. 3 GetPixelFormat

17. 10. 4 SetPixelFormat

17. 10. 5 SwapBuffers

17. 10. 6 wglCreateContext

17. 10. 7 wglCreateLayerContext

17. 10. 8 wglCopyContext

17. 10. 9 wgmeleteContext

17. 10. 10 wgDescnbeLayerPlane

17. 10. 11 wglGetCurrentContext

17. 10. 12 wglGetCunenDC

17. 10. 13 wglMakeCurrent

17. 10. 14 wglShareLists

17. 10. 15 wglSwapLayerBuffers

17. 10. 16 wglUseFontBitmaps

17. 10. 17 WglUSeFontOutlines

第18章 非视窗渲染

18. 1 脱屏渲染的基本知识

18. 1. 1 脱屏渲染的制约

18. 1. 2 为渲染创建脱屏缓冲区

18. 1. 3 撤消脱屏缓冲区

18. 1. 4 共享显示表

18. 2 保存为. BMP文件

18. 3 打印图像

18. 4 图元文件

18. 4. 1 创建增强的图元文件设备场境

18. 4. 2 图元文件和OpenGL视见区

18. 4. 3 从Tenain查看程序中生成图元文件

18. 5 小结

第19章 OpenGL实时编程

19. 1 本章主要内容

19. 2 实时的速度

19. 3 Windows动画技巧

19. 3. 1 计时器用于动画

19. 3. 2 简化WM_PAINT机制

19. 3. 3 事件插入循环

19. 3. 4 使用渲染线程

19. 4 实时中的“真实”

19. 4. 1 基于时间的关键帧

19. 4. 2 实际限制

19. 4. 3 实时响应

19. 5 场景图基本知识

19. 5. 1 使景色散乱

19. 5. 2 模型淘汰

19. 6 其他实时技巧

19. 6. 1 Direct X

19. 6. 2 通用的OpenGL性能提示

19. 7 小结

第四部分 附录

附录A OpenGL更新摘要

A. 1 1. 1版(1995年12月)

A. 2 1. 2版(1998年3月)

附录B 阅读资料

B. 1 Windows编程方面的书籍

B. 2 OpenGL方面的书籍

B. 3 3D图形方面的书籍

B. 4 Web站点

附录C 0penGL状态机

C. 1 OpenGL的基本状态函数

C. 2 保存和恢复状态

C. 2. 1 绘制状态

C. 2. 2 深度缓冲区状态

C. 2. 3 模版缓冲区状态

C. 2. 4 亮度状态

C. 2. 5 纹理状态

C. 2. 6 像素状态

C. 3 参考函数

C. 3. 1 glDisable. g1Enab1e

C. 3. 2 glIsEnabled

C. 3. 3 g1PopAttrib

C. 3. 4 g1PushAttrib

附录D 词汇表