OpenGL超级宝典第五版中文版-OpenGL超级宝典第5版PDF电子书下载带目录高清版

OpenGL超级宝典第五版中文版-OpenGL超级宝典第5版PDF电子书下载带目录高清版

编辑点评:

《OpenGL超级宝典(第5版)》是OpenGL及3D图形编程的入门指南,涵盖了使用版本的OpenGL进行编程所需要的主要知识。适合希望精通OpenGL以便对图形编程和3D图形知识进行扩展的程序员阅读,也可以帮助经验丰富的OpenGL程序员学习如何移植自己的应用程序

20201116170532.png

内容简介

《OpenGL超级宝典(第5版)》是OpenGL及3D图形编程的入门指南,涵盖了使用版本的OpenGL进行编程所需要的主要知识。全书分三部分,共16章,另有3个附录。部分包括第1章到第7章,介绍如何构建一个使用OpenGL的程序、如何设置3D渲染环境,以及如何创建基本对象和光线并对他们进行着色。然后深入研究如何使用OpenGL,并向读者介绍GLSL,以及如何创建自己的着色器。第二部分包括第8章到第12章,将进行更深入的研究,而懂得如何应用这些高级特性将使读者业余3D玩家的水平。这一部分不仅能够使我们掌握更多的可视化效果,同时也考虑了性能表现。第三部分包括第13章到第16章,着重介绍OpenGL如何支持和连接Windows、MacOSX、Linux和掌上设备。附录部分给出了更多阅读建议、术语表和API参考介绍。

《OpenGL超级宝典(第5版)》适合希望精通OpenGL以便对图形编程和3D图形知识进行扩展的程序员阅读,也可以帮助经验丰富的OpenGL程序员学习如何移植自己的应用程序。本书既可以作为学习OpenGL的教材,也可以作为随时查阅的参考手册。

精彩书摘

事实上,即使我们不懂得那些高深的3D图形数学知识,也不会造成太大的妨碍,就像我们不需要懂得任何关于汽车结构和内燃机方面的知识也能每天开汽车一样。但是,我们最好对汽车足够了解,以便能够意识到需要时常更换机油,定期向油箱加油,以及在轮胎花纹磨光时要更换轮胎。这些知识使我们成为一位可靠(还有安全!)的车主。同样,如果想要成为一位可靠和有能力的OpenGL程序员,也要遵循同样的标准。至少需要理解那些基础知识,才知道能做什么,以及哪些工具适合我们要做的工作。如果是初学者,我们将会发现,经过一段时间的实践,就会渐渐理解矩阵和向量,并且培养出一种更为直观(和强大)的能力,能够在实践中充分利用本章所介绍的这些概念。

因此,即使我们还没有能力在脑海中默算出两个矩阵的乘法,也要明白矩阵是什么,以及这些矩阵对于OpenGL处理来说意味着什么。但是,在清理线性代数的老课本(每个人都有,对吧?)之前,不要紧张,GLTools库中有一个组建叫做Math3d,其中包含了大量好用的与OpenGL一致的3D数学例程和数据类型。虽然我们不必亲自进行所有的矩阵和向量操作,我们仍然知道它们是什么,以及如何应用它们。看,这样我们就二者兼得了。

4.23D图形数学速成课

关于3D图形数学的书籍数不胜数,我们发现了一些非常好的,附录A中列出了这些书籍。我们并不会做出一副要讲完所有需要了解的重要问题的架势,甚至并不试图讲完所有应该了解的问题。在本章,我们只涉及真正需要了解的。如果已经是数学高手,那么就应该跳过这一部分,立即开始学习模型视图矩阵部分。这并不只是因为您已经知道了我们将要讲解的内容,还因为大多数数学高手会因为没有提供足够的空间来讨论它们喜爱的齐次坐标空间特性而感到不快。

想象一下一个我们必须从一大群鳄鱼逃脱出来的电视真人秀吧。我们到底要知道多少3D数学才能生存?这就是接下来两部分的内容-3D数学生存技能。鳄鱼才不在乎我们是不是真正懂得齐次坐标

空间呢。

4.2.1向量

在第1章和第2章,我们已经介绍了顶点和3D笛卡尔坐标。基本上,一个顶点就是XYZ坐标空间上的一个位置,而在空间中给定的一个位置恰恰是由一个且只由一个单独的XYZ三元组定义的。然而, 一组XYZ值还能表示一个向量(实际上,从纯粹的数学思维上讲一个顶点其实同时也是一个向量……这里我们只讨论主要问题)。在使用向量来操纵3D几何图形时,向量可能就变成了最重要的基本概念了(没有之一)。这3个值(×、Y和Z)组合起来表示两个重要的值——一个方向和一个数量。

如图4.1所示为空间中(任意选择)的一个点,以及空间中从坐标系原点到这个点坐标的一条带箭头的线段。在拼接三角形时,这个点可以视为一个顶点,而这个带箭头的线段则可以视为一个向量。一个向量首先是空间中从原点指向这个点的方向。在中,我们总是使用向量来表示带方向的量。例如,X轴就是向量(1,0,0)。在×方向为+1,而在Y方向和Z方向则为0。

第5版有哪些更新

本书前几版的读者可能会立刻注意到,这本书变薄了。这是怎么回事?在OpenGL 3.0中,某些特性被标记为“不鼓励使用的”,也就是说,这些特性在未来的OpenGL版本中可能会被删除。到目前为止.

OpenGL中还没有正式删去任何特性,这在很大程度上是迫于广大开发人员的压力。这样一来,我们在讲解OpenGL就有了两种思路,即包括所有最新功能和“不鼓励使用的”功能的完整框架,以及不包括任何“不鼓励使用的“功能的核心框架。鉴于标记“不鼓励使用的"功能的主要目的是推动OpenGL标准的发展,本版没有包含任何“不鼓励使用的”功能,而只专注于核心框架。这些核心框架是基于OpenGL

3.3的。

我们保留了已经证实非常受欢迎的书后参考资料,不过同样删去了所有“不鼓励使用的"功能。如果读者想实现最新的和具有前瞻性的OpenGL程序,那么从这一部分开始是非常好的选择。教程部分的各章内容95%(或以上)都是新素材。我们不想采用基于“不鼓励使用的”功能的方式,所以就产生了采用全新素材的全新方式。这其中包括本版中关于操作系统特性的各章内容,这些内容几乎是完全重写的。

关于OpenGL ES的章节特别加入了在iPhone上使用OpenGL ES的内容,其中还包括了iPod和

iPad,并且本书前面的一些例子也引入了这些设备。这些新加入的内容是非常受欢迎的,因为在本书编写时,再没有一种主流OpenGLES设备能够像它们这样为任何(使用Mac)用户轻松使用。

在本版中,GLTools库部分也被明显地加强了。书中归纳的存储着色器(stock shader)能帮助读者在真正开始研究编写自己的着色器前就尽快学会如何使用着色器。另外,本书归纳的轻量级C++类允许对我们的几何批处理进行管理,并帮助我们创建和操作自己的矩阵堆栈。像过去的GLU库一样,这个库也应只被视为一套帮助例程,而不是一个完整的OpenGL应用框架。

3D图形技术和术语

本书的每一章都包含一个或多个示例程序用来演示这一章所讨论的编程技术。尽管本章有意避免了关于编程细节的讨论,但仍提供了一个示例程序向读者演示最低程度上需要熟悉的技术和术语,以帮助读者充分地利用本书。本章的示例程序叫做BLOCK,读者可以从随书提供的示例程序集中的"Chapter 1"

文件夹中找到它。

将数学和图形数据转换成3D空间图像的操作叫做渲染(Rendering),当这个术语作为动词使用时,指的是计算机创建三维图像时所经历的过程。它也作为名词使用,指的仅仅是最终的图像作品。

这个术语在本书中会经常出现。现在我们来看一看渲染过程中出现的其他一些属于和操作。

OpenGL超级宝典第5版PDF电子书下载截图

OpenGL超级宝典第五版中文版-OpenGL超级宝典第5版PDF电子书下载带目录高清版插图(1)OpenGL超级宝典第五版中文版-OpenGL超级宝典第5版PDF电子书下载带目录高清版插图(2)OpenGL超级宝典第五版中文版-OpenGL超级宝典第5版PDF电子书下载带目录高清版插图(3)OpenGL超级宝典第五版中文版-OpenGL超级宝典第5版PDF电子书下载带目录高清版插图(4)

评分及评论

无用户评分

来评个分数吧

  • 5 分
    0
  • 4 分
    0
  • 3 分
    0
  • 2 分
    0
  • 1 分
    0

Comments