图书介绍
OpenGL ES 3.x游戏开发 上【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 吴亚峰编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115433497
- 出版时间:2016
- 标注页数:486页
- 文件大小:101MB
- 文件页数:502页
- 主题词:移动电话机-游戏程序-程序设计
PDF下载
下载说明
OpenGL ES 3.x游戏开发 上PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Android概述1
1.1 Android平台的特点及未来的趋势1
1.1.1 全新理念带来的体验风暴1
1.1.2 手机3D游戏和应用增长迅速2
1.2 搭建Android开发环境2
1.2.1 JDK的安装及环境变量的配置2
1.2.2 Android SDK的下载与配置4
1.2.3 Eclipse集成开发环境的下载与配置5
1.2.4 创建并启动模拟器8
1.3 Hello Android应用程序的开发10
1.3.1 第一个Android应用程序10
1.3.2 Android应用程序的项目结构13
1.3.3 Android应用程序的调试14
1.3.4 实际设备的联机调试16
1.4 已有Android项目的导入和运行16
1.4.1 项目的导入16
1.4.2 应用程序的运行17
1.5 Android应用程序运行的机制18
1.5.1 应用程序的系统架构18
1.5.2 应用程序框架18
1.5.3 Android运行时19
1.5.4 系统库19
1.5.5 底层Linux内核20
1.6 小结20
第2章 游戏开发相关的Android基础知识21
2.1 游戏中的音效21
2.1.1 游戏中的即时音效21
2.1.2 即时音效的一个案例22
2.1.3 背景音乐播放技术24
2.1.4 简易音乐播放器的实现26
2.2 简单数据的存储——Preferences29
2.2.1 Preferences简介29
2.2.2 Preferences实现访问时间的记录29
2.3 手机自带数据库——SQLite30
2.3.1 初识SQLite30
2.3.2 SQLite数据库的基本操作31
2.3.3 SQLite数据库的简单案例32
2.3.4 使用ContentProvider组件共享数据34
2.3.5 使用ContentResolver获取分享数据36
2.4 文件I/O37
2.4.1 访问SD卡中的文件38
2.4.2 访问手机中的文件夹39
2.4.3 读取assets文件夹下的内容41
2.5 Socket网络通信42
2.5.1 Socket开发基本知识42
2.5.2 服务器端43
2.5.3 客户端44
2.6 蓝牙通信45
2.6.1 蓝牙通信的基本知识45
2.6.2 聊天案例概览46
2.6.3 聊天案例的开发过程47
2.7 小结57
第3章 初识OpenGL ES 3.x58
3.1 OpenGL ES 3.x概述58
3.1.1 OpenGL ES 3.x简介58
3.1.2 初识OpenGL ES 3.0应用程序61
3.1.3 OpenGL ES 3.1 新特性简介68
3.2 着色器与渲染管线68
3.2.1 OpenGL ES 2.0的渲染管线68
3.2.2 OpenGL ES 3.0的渲染管线74
3.2.3 OpenGL ES中立体物体的构建76
3.3 主流手机GPU大PK77
3.3.1 手机GPU四大家族对比77
3.3.2 主流GPU的性能参数比较80
3.4 小结81
第4章 着色语言Shading Language82
4.1 着色语言概述82
4.2 着色语言基础82
4.2.1 数据类型概述83
4.2.2 数据类型的基本使用87
4.2.3 运算符89
4.2.4 构造函数91
4.2.5 类型转换92
4.2.6 存储限定符93
4.2.7 插值限定符98
4.2.8 一致块99
4.2.9 layout限定符100
4.2.10 流程控制102
4.2.11 函数的声明与使用104
4.2.12 片元着色器中浮点变量精度的指定105
4.2.13 程序的基本结构106
4.3 特殊的内建变量106
4.3.1 顶点着色器中的内建变量106
4.3.2 片元着色器中的内建变量107
4.3.3 内建常量108
4.3.4 内建uniform变量108
4.4 着色语言的内置函数109
4.4.1 角度转换与三角函数109
4.4.2 指数函数110
4.4.3 常见函数111
4.4.4 几何函数114
4.4.5 矩阵函数116
4.4.6 向量关系函数116
4.4.7 纹理采样函数117
4.4.8 微分函数120
4.4.9 浮点数的打包与解包函数120
4.5 用invariant修饰符避免值变问题121
4.6 预处理器122
4.7 小结123
第5章 必知必会的3D开发知识——投影及各种变换124
5.1 摄像机的设置124
5.2 两种投影方式125
5.2.1 正交投影125
5.2.2 透视投影132
5.3 各种变换134
5.3.1 基本变换的相关数学知识134
5.3.2 平移变换135
5.3.3 旋转变换138
5.3.4 缩放变换139
5.3.5 基本变换的实质140
5.4 所有变换的完整流程141
5.5 绘制方式144
5.5.1 各种绘制方式概览145
5.5.2 点与线段绘制方式146
5.5.3 三角形条带与扇面绘制方式147
5.5.4 顶点法与索引法151
5.5.5 layout限定符的使用155
5.6 顶点常量属性156
5.6.1 顶点常量基本知识156
5.6.2 一个简单的案例156
5.7 设置合理的视角158
5.8 设置合理的透视参数163
5.9 多边形偏移166
5.10 卷绕和背面剪裁168
5.10.1 基本知识168
5.10.2 一个简单的案例169
5.11 小结170
第6章 光照171
6.1 曲面物体的构建171
6.1.1 球体构建的基本原理171
6.1.2 案例效果概览172
6.1.3 开发步骤172
6.2 基本光照效果175
6.2.1 光照的基本模型175
6.2.2 环境光175
6.2.3 散射光177
6.2.4 镜面光181
6.2.5 三种光照通道的合成185
6.3 定位光与定向光187
6.4 点法向量和面法向量189
6.5 光照的每顶点计算与每片元计算191
6.6 小结193
第7章 纹理映射194
7.1 初识纹理映射194
7.1.1 基本原理194
7.1.2 一个简单的案例195
7.1.3 色彩通道的灵活组合199
7.2 纹理拉伸201
7.2.1 三种拉伸方式概览201
7.2.2 不同拉伸方式的案例203
7.3 纹理采样207
7.3.1 纹理采样概述207
7.3.2 最近点采样207
7.3.3 线性纹理采样208
7.3.4 MIN与MAG采样209
7.3.5 不同纹理采样方式的案例210
7.4 mipmap纹理技术214
7.5 多重纹理与过程纹理215
7.5.1 案例概览215
7.5.2 将2D纹理映射到球面上的策略216
7.5.3 案例的场景结构217
7.5.4 开发过程218
7.6 压缩纹理的使用224
7.7 点精灵226
7.7.1 基本知识226
7.7.2 一个简单案例227
7.8 3D纹理229
7.9 2D纹理数组233
7.10 采样器配置对象的使用237
7.11 小结239
第8章 3D基本形状的构建240
8.1 圆柱体240
8.1.1 顶点原始位置的生成240
8.1.2 案例的开发242
8.2 圆锥体244
8.2.1 顶点原始位置的生成244
8.2.2 案例的开发246
8.3 圆环体248
8.3.1 顶点原始位置的生成248
8.3.2 案例的开发249
8.4 螺旋管250
8.4.1 顶点原始位置的生成250
8.4.2 案例的开发251
8.5 几何球252
8.5.1 顶点原始位置的生成252
8.5.2 案例的开发254
8.6 足球碳分子模型的搭建259
8.6.1 搭建的基本原理259
8.6.2 案例的开发261
8.7 贝塞尔曲线及旋转面264
8.7.1 三维旋转曲面的生成264
8.7.2 贝塞尔曲线265
8.7.3 Bezier曲线生成工具266
8.7.4 印度古典建筑场景的开发268
8.8 小结269
第9章 更逼真的游戏场景——3D模型加载270
9.1 obj模型文件概述270
9.1.1 obj文件的格式270
9.1.2 用3ds Max设计3D模型271
9.2 加载obj文件272
9.2.1 加载仅有顶点坐标与面数据的obj文件272
9.2.2 加载后自动计算面法向量275
9.2.3 加载后自动计算平均法向量278
9.2.4 加载纹理坐标280
9.2.5 加载顶点法向量283
9.3 双面光照284
9.4 小结286
第10章 独特的场景渲染技术——混合与雾287
10.1 混合技术287
10.1.1 混合基本知识287
10.1.2 源因子和目标因子288
10.1.3 简单混合效果案例290
10.1.4 ETC2压缩纹理的使用292
10.2 地月系云层效果的实现295
10.3 雾297
10.3.1 雾的原理与优势297
10.3.2 雾的简单实现298
10.4 小结300
第11章 常用的3D开发技巧——标志板、天空盒、镜像绘制等301
11.1 标志板301
11.1.1 案例效果与基本原理301
11.1.2 开发步骤302
11.2 灰度图地形305
11.2.1 基本原理306
11.2.2 普通灰度图地形306
11.2.3 过程纹理地形309
11.2.4 MipMap地形311
11.2.5 顶点着色器采样纹理地形312
11.3 用粒子沉积算法构建地形314
11.3.1 粒子沉积法的基本原理314
11.3.2 地形设计器的使用316
11.3.3 粒子沉积的核心算法类318
11.4 天空盒与天空穹319
11.4.1 天空盒319
11.4.2 天空穹321
11.4.3 天空盒与天空穹的使用技巧322
11.5 简单镜像效果323
11.5.1 镜像基本原理323
11.5.2 基本效果案例323
11.5.3 升级效果案例326
11.6 动态文本输出327
11.6.1 案例效果与基本原理327
11.6.2 具体开发步骤327
11.7 非真实感绘制329
11.7.1 基本原理与案例效果329
11.7.2 具体开发步骤331
11.8 描边效果的实现333
11.8.1 沿法线挤出轮廓333
11.8.2 在视空间中挤出335
11.9 小结336
第12章 渲染出更加酷炫的3D场景——几种剪裁与测试337
12.1 剪裁测试337
12.1.1 基本原理与核心代码337
12.1.2 一个主次视角的简单案例337
12.2 Alpha测试338
12.2.1 Alpha测试基本原理339
12.2.2 一个椭圆窗口的案例339
12.3 模板测试341
12.3.1 基本原理341
12.3.2 一个简单的案例343
12.4 任意剪裁平面344
12.4.1 基本原理344
12.4.2 茶壶被任意平面剪裁的案例345
12.5 小结346
第13章 引人入胜的游戏特性——传感器应用开发347
13.1 基本的开发流程347
13.2 加速度传感器349
13.2.1 加速度传感器简介349
13.2.2 案例的开发350
13.3 磁场传感器351
13.3.1 磁场传感器简介351
13.3.2 案例的开发351
13.4 陀螺仪传感器352
13.4.1 陀螺仪传感器简介352
13.4.2 案例的开发353
13.5 光传感器354
13.5.1 光传感器简介354
13.5.2 案例的开发354
13.6 温度传感器355
13.6.1 温度传感器简介355
13.6.2 案例的开发355
13.7 接近传感器356
13.7.1 接近传感器简介357
13.7.2 案例的开发357
13.8 姿态传感器358
13.8.1 姿态传感器简介358
13.8.2 案例的开发360
13.9 加速度传感器综合案例361
13.10 传感器的坐标轴问题363
13.11 小结366
第14章 Android NDK及iOS平台下的OpenGL ES开发367
14.1 使用Android NDK进行OpenGL ES开发367
14.1.1 Android NDK开发环境的下载及配置367
14.1.2 Android NDK项目在Eclipse中的配置370
14.1.3 使用Android NDK开发简单的 OpenGL ES 3.0程序371
14.2 使用Android NDK开发山地地形场景378
14.2.1 案例效果及山地绘制类的开发379
14.2.2 NDK端渲染函数的开发380
14.3 基于iOS平台开发OpenGL ES 3.0程序382
14.3.1 案例运行效果及Xcode项目的创建382
14.3.2 案例的开发过程385
14.4 基于iOS平台的地月系场景案例390
14.4.1 案例的运行效果391
14.4.2 案例的开发过程391
14.5 小结394
第15章 Web端3D游戏开发——WebGL3D应用开发395
15.1 WebGL概览395
15.1.1 WebGL简介395
15.1.2 WebGL效果展示396
15.2 初识WebGL应用396
15.2.1 WebGL应用案例部署运行步骤简介397
15.2.2 简单渲染3D模型案例的开发397
15.3 加入光照效果的WebGL案例404
15.4 带有纹理贴图的WebGL案例407
15.4.1 一个简单的案例408
15.4.2 WebGL版的地月系案例411
15.5 小结413
第16章 休闲类游戏——3D可爱抓娃娃414
16.1 游戏的背景及功能概述414
16.1.1 背景描述414
16.1.2 功能介绍414
16.2 游戏的策划及准备工作417
16.2.1 游戏的策划417
16.2.2 手机平台下游戏的准备工作418
16.3 游戏的架构420
16.3.1 各个类的简要介绍420
16.3.2 游戏框架简介423
16.4 界面显示类424
16.4.1 显示界面类MySurfaceView424
16.4.2 游戏界面类GameView426
16.4.3 游戏主菜单界面类 MainView430
16.5 辅助工具类431
16.5.1 辅助类432
16.5.2 自定义管理器类436
16.5.3 线程类439
16.6 绘制相关类441
16.6.1 3D模型绘制类的开发441
16.6.2 BN2DObject 绘制类的开发442
16.7 粒子系统的开发444
16.7.1 基本原理444
16.7.2 开发步骤444
16.8 本游戏中的着色器447
16.9 游戏的优化及改进449
16.10 小结449
第17章 基于WebGL的3D楼盘展示系统450
17.1 应用背景及功能概述450
17.1.1 背景概述450
17.1.2 功能介绍450
17.2 功能预览及架构451
17.2.1 基于WebGL的3D楼盘展示系统功能预览451
17.2.2 基于WebGL的3D楼盘展示系统目录结构454
17.3 Web平台下应用开发前的准备工作455
17.3.1 图片资源的搜集455
17.3.2 模型资源的采集456
17.4 地图设计器的开发457
17.4.1 地图设计器的开发设计思路457
17.4.2 地图设计器的框架介绍458
17.4.3 地图设计器的开发步骤458
17.5 公共函数介绍461
17.5.1 工具函数文件GLUtil.js461
17.5.2 obj加载文件LoadObjUtil.js463
17.5.3 着色器加载文件LoadShaderUtil.js464
17.5.4 3D物体绘制文件ObjObject.js465
17.5.5 矩阵操作函数文件MatrixState.js466
17.6 物体创建及绘制相关函数介绍467
17.6.1 创建普通物体文件loadObject.js467
17.6.2 地面绘制文件DrawLandMaps.js468
17.6.3 普通按钮绘制文件DrawButton.js470
17.7 各个功能模块的实现470
17.7.1 主界面mainView.html的 开发470
17.7.2 楼房模型界面houseModel.html的实现475
17.7.3 户体模型界面roomType.html的开发477
17.7.4 小区浏览界面residentialGarden.html的实现478
17.8 应用中运用的着色器介绍481
17.8.1 普通物体着色器481
17.8.2 不带光照物体着色器483
17.8.3 天空盒着色器483
17.9 应用的优化与改进484
17.10 小结484
热门推荐
- 2738645.html
- 2529310.html
- 93564.html
- 3608368.html
- 3425387.html
- 2820959.html
- 1589586.html
- 587182.html
- 1551947.html
- 3059742.html
- http://www.ickdjs.cc/book_2184068.html
- http://www.ickdjs.cc/book_313561.html
- http://www.ickdjs.cc/book_1472376.html
- http://www.ickdjs.cc/book_1974084.html
- http://www.ickdjs.cc/book_3265377.html
- http://www.ickdjs.cc/book_1494048.html
- http://www.ickdjs.cc/book_2072612.html
- http://www.ickdjs.cc/book_604056.html
- http://www.ickdjs.cc/book_369426.html
- http://www.ickdjs.cc/book_3837825.html