登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

『簡體書』OpenGL ES应用开发实践指南:iOS卷(资深iOS专家根据OpenGL ES最新版本撰写,系统讲解OpenGL ES的核心概念、技术及开发技巧)

書城自編碼: 2090816
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: Erik
國際書號(ISBN): 9787111428671
出版社: 机械工业出版社
出版日期: 2013-06-01
版次: 1 印次: 1
頁數/字數: 280/
書度/開本: 16开 釘裝: 平装

售價:NT$ 642

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
物理光学漫步——衍射计算理论及应用研究故事
《 物理光学漫步——衍射计算理论及应用研究故事 》

售價:NT$ 874.0
人类起源简史:破译700万年人类进化的密码
《 人类起源简史:破译700万年人类进化的密码 》

售價:NT$ 354.0
古典与现代 : 民国大学的潮与岸
《 古典与现代 : 民国大学的潮与岸 》

售價:NT$ 406.0
浮华梦醒:民国实业家的创业之路
《 浮华梦醒:民国实业家的创业之路 》

售價:NT$ 291.0
财之道丛书·后资本主义生活:财富的意义、经济的未来与货币的时间理论
《 财之道丛书·后资本主义生活:财富的意义、经济的未来与货币的时间理论 》

售價:NT$ 354.0
人文与社会译丛:自由意志、能动性与生命的意义
《 人文与社会译丛:自由意志、能动性与生命的意义 》

售價:NT$ 359.0
儿童折纸大全(儿童创意美术手工系列)
《 儿童折纸大全(儿童创意美术手工系列) 》

售價:NT$ 155.0
意识形态与现代文化(人文与社会译丛)
《 意识形态与现代文化(人文与社会译丛) 》

售價:NT$ 411.0

建議一齊購買:

+

NT$ 585
《 iOS开发进阶 》
+

NT$ 413
《 iOS Auto Layout开发秘籍(第2版)(移动开发经典丛书) 》
+

NT$ 538
《 iOS数据库应用高级编程(第2版)(移动开发经典丛书) 》
+

NT$ 432
《 OpenGL ES 2.0游戏与图形编程——适用于iOS 和 Android(移动开发经典丛书) 》
+

NT$ 621
《 Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法(名著名译,Amazon五星好评,7大方面探讨编写高效、易于理解易于维护和易于扩展的Objective-C代码) 》
+

NT$ 456
《 Objective-C高级编程:iOS与OS X多线程和内存管理(苹果源代码不会告诉你的Objective-C高级编程) 》
編輯推薦:
资深iOS开发专家根据OpenGL ES最新版本撰写,详细讲解了OpenGL ES与GLKit的结合使用
系统讲解OpenGL ES的核心概念、技术,以及iOS的图形机制,通过大量案例讲解了在iOS上进行OpenGL
ES开发的方法和技巧
內容簡介:
这是一本系统的具备实战性的OpenGL ES 3D图形开发指南。由资深iOS开发专家根据OpenGL
ES最新版本撰写,不仅详细讲解了OpenGL ES与GLKit的结合使用,而且还系统讲解OpenGL
ES的核心概念、技术,以及iOS的图形机制,并通过大量案例讲解了在iOS上进行OpenGL ES开发的方法和技巧。
全书共分12章。第1章介绍了使用嵌入式图形硬件绘制3D图形的最新方法;第2章讲解了如何使用苹果Xcode开发工具和Cocoa
Touch面向对象的框架在iPhone、iPod
Touch和iPad中开发包括3D图形的程序;第3章涵盖了纹理的底层概念和常用选项;第4章介绍灯光模拟背后的概念,以及利用GLKit并使用相对简单的应用代码演示灯光效果;第5章讲解并演示从任意视点渲染几何对象的技术;第6章介绍如何制作动画;第7章介绍了如何加载并使用模型;第8章讲解了特效的使用;第9章介绍能够提高iOS设备上OpenGL
ES
2.0渲染性能的优化策略;第10章讲解了地形和拾取;第11章回顾了3D渲染所需的常见数学运算;第12章涵盖了一个结合地形渲染、天空盒、粒子系统、动画、变化视点、灯光、模型和碰撞检测技术的实例。
關於作者:
Erik M. Buck  资深iOS应用和苹果应用开发专家,与人合著了《Cocoa Programming》和《Cocoa
Design
Patterns》等经典著作。1993年创建了他的第一家公司——EMB,这家公司后来发展成了航空航天软件和娱乐软件产业的领导者。Buck还在建筑行业工作过,当过理科8年级的老师,开过帆布油画肖像展,开发过替代燃料交通工具。他还是莱特州立大学计算机科学系的助理教授,当前教的课程是iOS编程。他的网站是www.cosmicthump.com。
目錄
译者序
前言
第1章使用现代移动图形硬件
1.1 3D渲染
1.2 为图形处理器提供数据
1.2.1 缓存:提供数据的最好方式
1.2.2 帧缓存
1.3 OpenGL ES的上下文
1.4 一个3D场景的几何数据
1.4.1 坐标系
1.4.2矢量
1.4.3点、线、三角形
1.5小结
第2章让硬件为你工作
2.1使用OpenGL ES绘制一个Core Animation层
2.2结合Cocoa Touch和OpenGL ES
2.2.1Cocoa Touch
2.2.2使用苹果开发者工具
2.2.3Cocoa Touch应用架构
2.3OpenGLES_Ch2_1示例
2.3.1OpenGLES_Ch2_1AppDelegate类
2.3.2Storyboards
2.3.3OpenGLES_Ch2_1ViewController类的interface
2.3.4OpenGLES_Ch2_1ViewController类的实现
2.3.5支持文件
2.4深入探讨GLKView是怎么工作的
2.5对于GLKit的推断
2.6小结
第3章纹理
3.1 什么是纹理
3.1.1对齐纹理和几何图形
3.1.2纹理的取样模式
3.1.3MIP 贴图
3.2OpenGLES_Ch3_1示例
3.3深入探讨GLKTextureLoader是怎么工作的
3.4OpenGLES_Ch3_3示例
3.5透明度、混合和多重纹理
3.5.1在OpenGLES_Ch3_4示例中混合片元颜色
3.5.2 示例OpenGLES_Ch3_5中的多重纹理
3.5.3在OpenGLES_Ch3_6示例中自定义纹理
3.6纹理压缩
3.7小结
第4章散发一些光线
4.1环境光、漫反射光、镜面反射光
4.2计算有多少光线照向每个三角形
4.3使用GLKit灯光
4.4 OpenGLES_Ch4_1示例
4.5把灯光烘焙进纹理中
4.6片元计算
4.7小结
第5章改变你的视点
5.1深度渲染缓存(Depth Render Buffer)
5.2例子OpenGLES_Ch5_1和例子OpenGLES_Ch5_2
5.3深入探讨不用GLKit添加深度缓存
5.4变换
5.4.1基本变换
5.4.2顺序很重要
5.4.3projectionMatrix和modelviewMatrix
5.4.4textureMatrix
5.5复合变换手册
5.5.1倾斜
5.5.2围着一个点旋转
5.5.3围着一个点缩放
5.6透视和平截头体
5.7小结
第6章动画
6.1场景内移动:例子OpenGLES_Ch6_1
6.1.1看向一个特定的3D位置
6.1.2使用时间
6.2动画化顶点数据
6.2.1使用索引顶点
6.2.2OpenGLES_Ch6_2示例
6.3动画化颜色和灯光:例子OpenGLES_Ch6_3
6.4动画化纹理
6.4.1OpenGLES_Ch6_4示例
6.4.2OpenGLES_Ch6_5示例
6.5小结
第7章加载和使用模型
7.1建模工具和格式
7.2读取modelplist文件
7.3OpenGLES_Ch7_1示例
7.4高级模型
7.4.1骨骼动画
7.4.2蒙皮
7.4.3 逆动力学和物理模拟
7.5小结
第8章特效
8.1天空盒
8.2深入探讨GLKSkyboxEffect是怎么工作的
8.3 粒子
8.4公告牌
8.5小结
第9章优化
9.1尽可能减少渲染
9.1.1基于视平截体的剔除
9.1.2简化
9.2不要猜:解析(Profile)
9.2.1工具OpenGL ES Performance Detective
9.2.2工具Instruments
9.3尽量减少缓存复制
9.4尽量减少状态变化
9.5小结
第10章地形和拾取
10.1地形的实现
10.1.1高度图
10.1.2地形瓦片
10.1.3地形效果
10.2添加模型
10.2.1模型放置
10.2.2模型效果
10.3OpenGL ES摄像机
10.4拾取
10.5优化
10.6小结
第11章数学速查
11.1概述
11.2解码矩阵
11.2.1从平截体获取矩阵
11.2.2透视
11.2.3矢量的坐标轴分量
11.2.4点变换
11.2.5 转置矩阵和逆矩阵
11.3四元法
11.4常用的图形数学
11.4.1简单矢量运算
11.4.2矢量标量积
11.4.3矢量的矢量积
11.4.4model-view矩阵
11.4.5投影矩阵
11.5小结
第12章理清整体思路
12.1概述
12.2一切如故
12.2.1控制器子系统
12.2.2模型子系统
12.2.3 视图子系统
12.3设备动作
12.4小结
內容試閱
前 言
OpenGL ES技术是苹果iOS设备(iPhone、iPod
Touch以及iPad)上的用户界面和图形绘制能力的基础。“ES”代表嵌入式系统(Embedded
System),这个术语适用于视频游戏机、飞机驾驶员座舱显示器,并且广泛适用于几乎所有生产商的手机。OpenGL
ES是桌面操作系统OpenGL版本的一个子集。因此,OpenGL ES应用通常也适用于桌面系统。
本书介绍了最新图形编程,同时对iOS设备中OpenGL
ES的有效使用做了简洁说明。书中有很多用于演示图形编程概念的例子程序。在网站http:opengles.cosmicthump.com上保存着很多例子和相关文章。本书对于从底层位操作到高级主题的图形技术都做了详细的解释。
学习图形编程的重大挑战体现在当你第一次试图整理散落在互联网上的成堆的误导性信息和过时的例子时。最初OpenGL是1992年的最先进图形工作站中的一个小型软件库。由于图形硬件改进得频繁且更新较快,以至于现在的移动设备已经胜过OpenGL刚出现时能够买到的最好的硬件。随着硬件技术的提高,OpenGL设计者当时所做的一些折中方法和假设已不再有意义了。现在至少存在着12种不同的OpenGL标准,不过最新的OpenGL
ES省略了很多对于以前版本中的常见技术的支持。不幸的是,在谷歌的搜索结果中还存在相当多的过时的代码和次优方案,以及几十年来形成的过时的经验。本书将主要关注最新、最高效的方法,以避免分心于过时且不相干的练习上。
读者对象
本书的读者包括学习编程的学生以及精通其他学科又想要学习图形的程序员。读者不需要有计算机图形的经验,但需要熟悉C或者C++以及面向对象编程的概念。有iOS、Objective-C编程语言和Cocoa
Touch框架的使用经验是最好的,但不是必需的。在学完本书后,你将有能力在你自己的iOS应用中使用高级计算机图形技术。
示例代码
本书提供的很多例子可以用作你自己的工程的起始点。可以从http:opengles.cosmicthump.comlearning-opengl-es-sample-code下载本书例子的源代码,这些源码使用MIT软件许可协议:http:www.opensource.orglicensesmit-license.html。
这些例子是使用苹果的免费开发者工具建立的,用的是Objective-C编程语言,以及苹果的Cocoa
Touch面向对象的软件框架。OpenGL ES应用程序编程接口(API)由美国国家标准协会(ANSI)国际标准化组织(ISO) C
编程语言的数据类型和函数组成。作为ANSIISO C的一个超集,Objective-C程序原生地支持与OpenGL
ES交互。
所有iOS应用都或多或少地依赖于Cocoa
Touch框架,该框架是基于苹果的Objective-C语言的。一些开发者通过重用现存的用C或者C++写就的跨平台库来最小化自己的应用与Cocoa
Touch的融合。作为UNIX操作系统的一个派生物,iOS包含了标准C库和UNIX
API,这使得移植跨平台代码到苹果设备上变得出人意料的简单。OpenGL
ES自身的一部分也是由跨平台C库组成的。尽管如此,不想使用Cocoa
Touch和Objective-C的开发者几乎总是给自己帮倒忙。苹果面向对象的框架史无前例地提升了程序员的生产率。更重要的是,Cocoa
Touch提供了用户对iOS应用所期望的平台一体性和精良性。
本书包含了Objective-C和Cocoa
Touch。苹果的基于Objective-C的GLKit框架的强大和简洁是如此令人信服,以至于它明确地指出了图形编程的未来发展方向。如果不使用GLKit而只关注操作系统的底层C接口和OpenGL
ES,本书几乎无法声称自己教授的是最新技术。
Objective-C
与ANSIISO
C一样,Objective-C是一个非常小型的语言。有经验的C程序员通常会发现,他们可以在至多几个小时内很容易地学会Objective-C。Objective-C在开启了一个富有表现力的面向对象的编程风格的同时,最低限度地扩充了C语言。本书详述了图形编程,同时在需要的时候会对Objective-C语言的特性做适当的介绍。你并不需要精通Objective-C或者Cocoa
Touch,但是你需要熟悉C或者C++以及面向对象编程的概念。你会发现使用Objective-C语言实现应用逻辑是非常容易和简洁的。Cocoa
Touch经常简化应用的设计,尤其是在响应用户输入的时候。
C++
ANSIISO C++编程语言是ANSIISO C的一个不是很完美的超集,但它几乎总是可以自由地与C语言混合。OpenGL
ES与C++可以无缝配合,并且OpenGL结构审查委员会(ARB)会监督OpenGL
ES的规范,以保证其未来与C++的兼容性。
C++编程语言是用于图形编程的最常见的编程语言之一。但是,C++是一个非常大型的编程语言,充满了惯用语法和精妙法则。对于C++语言要达到中等掌握水平可能要花费数年的时间。使用C++做图形编程有许多优势,例如,使用C++操作符重载功能可以让图形程序中数学运算的表达更加简洁。
混合使用C++与Objective-C代码并没有任何障碍。苹果开发者工具甚至支持Objective-C++形式,这种形式允许在一个语句中混合使用C++和Objective-C代码。但是Objective-C是iOS的主要编程语言。在苹果和第三方提供的几乎所有iOS示例代码中你都可以发现Objective-C的代码。如果你想使用C++也是可以的,但这超出了本书讨论的范围。
使用GLKit作为导向
本书通过对苹果GLKit的探索来讲解图形编程的最新概念。在一些情况下,某些章节会通过实现GLKit的部分对象来讲解和演示这些概念。这样做有几个目的:使用GLKit来简化启动项目所需的步骤。在第2章末尾你会建立起3个OpenGL
ES应用,并在你的iOS设备上运行。一章接着一章,逐渐创建彼此关联的很多主题,最终创建一个可重用的知识和代码的基础结构。当付出努力以从零开始创建时,可以帮助你获取一个想要的最终结果的清晰概念。为了获得有价值的最终结果,GLKit设置了一个高质量的现代基准。
本书会消除你关于怎么使用OpenGL
ES来实现和扩展GLKit的所有疑云。学完本书后,你会成为一个GLKit专家,彻底理解GLKit,同时拥有在你的iOS应用中使用GLKit的能力。GLKit演示了当前对于OpenGL
ES的最好做法,同时如果你需要,甚至可以将其作为你自己的跨平台库的一个模板。
致谢
写一本书需要很多人的支持。首先,感谢我的妻子Michelle,以及我的孩子Joshua、Emma和Jacob,谢谢你们的理解和支持。其次,感谢出版社的编辑们,他们为本书的写作提供了非常宝贵的建议。最后,感谢那些在学术上、专业上、精神上、道德上和艺术上将影响我一生的人。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.