编辑推荐
本书开篇详细讲解OpenGL图形编程的核心技术,覆盖了从空间中进行绘制到几何变换,从光照到纹理贴图等内容。书中讲解了新的OpenGL功能,包括OpenGL 2.1的强大可编程管线、定点和片段着色和高级缓冲区。书中还包含了对多种平台上的OpenGL实现的*介绍,这些平台包括Windows、Mac OS X、Linux和嵌入式系统。
内容简介
本书是OpenGL及3D图形编程最好的入门指南,涵盖了使用*版本的OpenGL进行编程所需要的主要知识。
全书分3个部分,共22章,另有3个附录。第一部分包括第1章到第14章,介绍如何构建一个使用OpenGL的程序,如何设置3D渲染环境,以及如何创建基本对象和光线并对他们进行着色。然后,深入研究使用OpenGL和它的一些高级特性及不同的特殊效果。第二部分包括第15章到第18章,分别介绍了OpenGL中支持可编程硬件[特别是在OpenGL着色语言(GLSL)中]的新特性。第三部分是第19章到第22章,着重介绍OpenGL是如何支持和连接Windows、Mac OS X、Linux和掌上设备。附录部分给出了更多阅读建议、术语表和API参考介绍。
本书适合希望精通OpenGL以便对他们的图形编程和3D图形知识进行扩展的程序员阅读,也可以帮助那些经验丰富的OpenGL程序员学习如何移植自己的应用程序。本书既可以作为学习OpenGL的教材,也可以作为随时查阅的参考手册。
作者简介
窗口的缩放 在几乎所有的窗口环境中,用户都可以在任可时候改变窗口的大小。即使是一个始终以全屏模式运行的游戏程序,它的窗口仍然存在大小被改变的时刻,也就是当窗口被创建时。当窗口的大小被改变时,窗口通常会作出响应,根据新的窗口大小重新绘制它的内容。有时,我们可能希望简单地对窗口的绘图内容进行裁剪,把它放在一个更小的窗口内。或者,我们可能希望把窗口的全部绘图内容按照它的原始大小放到一个更大的窗口中。根据我们的目的,通常需要对绘图区域进行缩放,使它正好能够放入当前的窗口,而与绘图区域或窗口的大小无关。因此,一个非常小的窗口可能具有一个完整但非常小的绘图区域,而一个更大的窗口可能具有一个更大的类似绘图区域。在大多数绘图程序中,可以通过缩放窗口的大小来观察这个效果。对窗口进行拉伸通常并不会改变绘图区域的大小,但是会放大图像。 ……
目录
- 第一部分 “旧约”——经典属性
- 第1章 3D图形和OpenGL的介绍
- 第2章 使用OpenGL
- 第3章 空间绘图:几何图元和缓冲区
- 第4章 几何变换:管线
- 第5章 颜色、材料和光照:基础知识
- 第6章 颜色和材料的更多细节
- 第7章 OpenGL中的图像
- 第8章 纹理贴图:基础知识
- 第9章 纹理贴图:高级知识
- 第10章 曲线和表面
- 第11章 这就是管线:更快的几何图形渲染
- 第12章 交互式图形
- 第13章 遮挡查询:消除不必要的工作
- 第14章 深度纹理和阴影
- 第二部分 “新约”——新的发展
- 第三部分 “新约外传”——扩展应用
- 附录A 更多阅读建议
- 附录B 词汇表
- 附录C API参考