图书介绍

OpenGL ES 2.0游戏开发 上卷 基础技术和典型案例2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

OpenGL ES 2.0游戏开发 上卷 基础技术和典型案例
  • 吴亚峰著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115339164
  • 出版时间:2014
  • 标注页数:467页
  • 文件大小:122MB
  • 文件页数:484页
  • 主题词:图形软件-软件开发

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

OpenGL ES 2.0游戏开发 上卷 基础技术和典型案例PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 初识庐山真面目——Android概览1

1.1智能手机市场现状1

1.1.1 5大智能手机操作系统1

1.1.2智能手机市场的新星1

1.2 Android平台的特点及未来的趋势2

1.2.1全新理念带来的体验风暴2

1.2.2中国手机市场的主导性作用2

1.2.3手机3D游戏和应用增长迅速3

1.3如何搭建Android开发环境3

1.3.1 JDK的安装及环境配置3

1.3.2 Eclipse集成开发环境的搭建5

1.3.3创建并启动模拟器6

1.4 Hello Android应用程序的开发9

1.4.1第一个Android应用程序9

1.4.2 Android应用程序的项目结构12

1.4.3 Android应用程序的调试13

1.4.4实际设备的联机调试15

1.5已有Android项目的导入和运行15

1.5.1项目的导入15

1.5.2应用程序的运行16

1.6 Android应用程序运行的机制16

1.6.1应用程序的系统架构17

1.6.2应用程序框架17

1.6.3 Android运行时18

1.6.4系统库18

1.6.5底层Linux内核19

1.7本章小结19

第2章 游戏开发相关Android知识——音效、存储、蓝牙等20

2.1游戏中的音效20

2.1.1游戏中的即时音效20

2.1.2即时音效的一个案例21

2.1.3背景音乐播放技术23

2.1.4简易音乐播放器的实现25

2.2简单数据的存储——Preferences28

2.2.1 Preferences简介28

2.2.2 Preferences实现访问时间的记录28

2.3手机自带数据库——SQLite29

2.3.1初识SQLite29

2.3.2 SQLite数据库的基本操作30

2.3.3 SQLite数据库的简单案例31

2.3.4使用ContentProvider组件共享数据34

2.3.5使用ContentResolver获取分享数据35

2.4文件1/O37

2.4.1访问SD卡中的文件37

2.4.2访问手机中的文件夹38

2.4.3读取assets文件夹下的内容40

2.5 2D动画的开发41

2.5.1 SurfaceView用法简介42

2.5.2使用SurfaceView实现2D动画42

2.6 Socket网络通信47

2.6.1 Socket开发基本知识47

2.6.2服务器端47

2.6.3客户端48

2.7蓝牙通信49

2.7.1蓝牙通信的基本知识49

2.7.2聊天案例概览50

2.7.3聊天案例的开发过程51

2.8本章小结62

第3章 初识OpenGL ES 2.063

3.1 OpenGL ES 2.0概述63

3.1.1 OpenGL ES 2.0简介63

3.1.2初识OpenGL ES 2.0应用程序66

3.2着色器与渲染管线74

3.2.1 OpenGL ES 1.x的渲染管线74

3.2.2 OpenGL ES 2.0的渲染管线78

3.2.3 OpenGL ES中立体物体的构建81

3.3主流Android手机GPU大比拼82

3.3.1手机GPU四大家族对比82

3.3.2主流GPU的性能参数比较86

3.4本章小结87

第4章 着色语言88

4.1着色语言(Shading Language)概述88

4.2着色语言基础88

4.2.1数据类型概述89

4.2.2数据类型的基本使用93

4.2.3运算符94

4.2.4类型转换96

4.2.5限定符97

4.2.6流程控制100

4.2.7函数的声明与使用102

4.2.8片元着色器中浮点变量精度的指定103

4.2.9程序的基本结构103

4.3特殊的内建变量104

4.3.1顶点着色器中的内建变量104

4.3.2片元着色器中的内建变量104

4.4着色语言的内置函数105

4.4.1角度转换与三角函数106

4.4.2指数函数106

4.4.3常见函数107

4.4.4几何函数110

4.4.5矩阵函数111

4.4.6向量关系函数112

4.4.7纹理采样函数112

4.4.8微分函数113

4.5用invariant修饰符避免值变问题114

4.6本章小结115

第5章 必知必会的3D开发知识——投影及各种变换116

5.1摄像机的设置116

5.2两种投影方式117

5.2.1正交投影117

5.2.2透视投影123

5.3各种变换126

5.3.1基本变换的相关数学知识126

5.3.2平移变换126

5.3.3旋转变换129

5.3.4缩放变换130

5.3.5基本变换的实质131

5.4所有变换的完整流程132

5.5绘制方式135

5.5.1各种绘制方式概览135

5.5.2点与线段绘制方式137

5.5.3三角形条带与扇面138

5.5.4顶点法与索引法142

5.6设置合理的视角144

5.7卷绕和背面剪裁149

5.7.1基本知识149

5.7.2一个简单的案例150

5.8本章小结152

第6章 让场景更逼真——光照效果153

6.1曲面物体的构建153

6.1.1球体构建的基本原理153

6.1.2案例效果概览154

6.1.3开发步骤154

6.2基本光照效果157

6.2.1光照的基本模型157

6.2.2环境光158

6.2.3散射光159

6.2.4镜面光163

6.2.5三种光照通道的合成167

6.3定位光与定向光168

6.4点法向量和面法向量171

6.5光照的每顶点计算与每片元计算173

6.6本章小结175

第7章 更加酷炫的3D效果——纹理映射176

7.1初识纹理映射176

7.1.1基本原理176

7.1.2纹理映射的简单案例177

7.2纹理拉伸182

7.2.1两种拉伸方式概览182

7.2.2不同拉伸方式的案例183

7.3纹理采样186

7.3.1纹理采样概述186

7.3.2最近点采样186

7.3.3线性纹理采样187

7.3.4 MIN与MAG采样189

7.3.5不同纹理采样方式的案例189

7.4 mipmap纹理技术193

7.5多重纹理与过程纹理194

7.5.1案例概览194

7.5.2将2D纹理映射到球面上的策略195

7.5.3案例的场景结构196

7.5.4开发过程197

7.6压缩纹理的使用203

7.7本章小结205

第8章 丰富的立体形状——3D基本形状的构建206

8.1圆柱体206

8.1.1顶点原始位置的生成206

8.1.2案例的开发208

8.2圆锥体210

8.2.1顶点原始位置的生成210

8.2.2案例的开发212

8.3圆环体213

8.3.1顶点原始位置的生成213

8.3.2案例的开发214

8.4螺旋管216

8.4.1顶点原始位置的生成216

8.4.2案例的开发217

8.5几何球218

8.5.1顶点原始位置的生成218

8.5.2案例的开发220

8.6足球碳分子模型的搭建224

8.6.1搭建的基本原理225

8.6.2案例的开发227

8.7贝塞尔曲线及旋转面229

8.7.1三维旋转曲面的生成230

8.7.2贝塞尔曲线230

8.7.3 Bezier曲线生成工具231

8.7.4印度古典建筑场景的开发233

8.8本章小结234

第9章 更逼真的游戏场景——3D模型加载235

9.1 obj模型文件概述235

9.1.1 obj文件的格式235

9.1.2用3ds Max设计3D模型236

9.2加载obj文件237

9.2.1加载仅有顶点坐标与面数据的obj文件237

9.2.2加载后自动计算面法向量240

9.2.3加载后自动计算平均法向量242

9.2.4加载纹理坐标245

9.3本章小结247

第10章 独特的场景渲染技术——混合与雾248

10.1混合技术248

10.1.1混合基本知识248

10.1.2源因子和目标因子249

10.1.3简单混合效果案例250

10.2地月系云层效果的实现252

10.3雾254

10.3.1雾的原理与优势254

10.3.2雾的简单实现255

10.4本章小结257

第11章 常用的3D开发技巧——标志板、天空盒、镜像绘制等258

11.1标志板258

11.1.1案例效果与基本原理258

11.1.2开发步骤259

11.2灰度图地形262

11.2.1基本原理263

11.2.2普通灰度图地形263

11.2.3过程纹理地形265

11.2.4 MipMap地形268

11.3用粒子沉积算法构建地形269

11.3.1粒子沉积法基本原理269

11.3.2地形设计器的使用271

11.3.3粒子沉积的核心算法类272

11.4天空盒与天空穹274

11.4.1天空盒274

11.4.2天空穹275

11.4.3天空盒与天空穹的使用技巧277

11.5镜像技术277

11.5.1镜像基本原理277

11.5.2基本效果案例277

11.5.3升级效果案例280

11.6动态文本输出281

11.6.1案例效果与基本原理281

11.6.2具体开发步骤282

11.7非真实感绘制283

11.7.1案例效果与基本原理284

11.7.2具体开发步骤284

11.8本章小结286

第12章 渲染出更加酷炫的3D场景——剪裁测试287

12.1剪裁测试287

12.1.1基本原理与核心代码287

12.1.2一个主次视角的简单案例287

12.2 Alpha测试288

12.2.1 Alpha测试基本原理289

12.2.2一个椭圆窗口的案例289

12.3模板测试290

12.3.1基本原理291

12.3.2一个简单的案例293

12.4任意剪裁平面294

12.4.1基本原理294

12.4.2茶壶被任意平面剪裁的案例294

12.5本章小结296

第13章 引人入胜的游戏特性——传感器应用开发297

13.1基本的开发流程297

13.2加速度传感器299

13.2.1加速度传感器简介299

13.2.2案例的开发300

13.3磁场传感器301

13.3.1磁场传感器简介301

13.3.2案例的开发301

13.4陀螺仪传感器302

13.4.1陀螺仪传感器简介302

13.4.2案例的开发302

13.5光传感器304

13.5.1光传感器简介304

13.5.2案例的开发304

13.6温度传感器305

13.6.1温度传感器简介305

13.6.2案例的开发305

13.7接近传感器306

13.7.1接近传感器简介306

13.7.2案例的开发307

13.8姿态传感器308

13.8.1姿态传感器简介308

13.8.2案例的开发310

13.9加速度传感器综合案例311

13.10传感器的坐标轴问题313

13.11本章小结316

第14章 移动开发平台上的主角——Android NDK及iOS平台下的OpenGL ES开发317

14.1使用Android NDK进行OpenGL ES开发317

14.1.1 Android NDK开发环境的下载及配置317

14.1.2 Android NDK在Eclipse中的配置320

14.1.3使用Android NDK开发简单的OpenGL ES 2.0程序322

14.2使用Android NDK开发山地地形场景328

14.2.1案例效果及山地绘制类的开发329

14.2.2 NDK端渲染函数的开发331

14.3基于iOS平台开发OpenGL ES 2.0程序332

14.3.1案例运行效果及Xcode项目的创建332

14.3.2案例的开发过程334

14.4基于iOS平台的地月系场景案例337

14.4.1案例运行效果及GLView的开发337

14.4.2其他部分的开发338

14.5本章小节340

第15章Web端3D游戏开发——WebGL 3D应用开发341

15.1 WebGL概览341

15.1.1 WebGL简介341

15.1.2 WebGL效果展示341

15.2初识WebGL应用342

15.2.1 Obj模型加载工具简介342

15.2.2简单渲染3D模型案例的开发344

15.3加入光照效果的WebGL案例349

15.3.1生成带有法向量数据的JavaScript脚本文件349

15.3.2案例的具体开发350

15.4带有纹理贴图的WebGL案例351

15.4.1生成带有法向量和纹理坐标数据的JavaScript脚本文件351

15.4.2案例的开发351

15.4.3 WebGL版的地月系案例353

15.5本章小节354

第16章 综合案例一——夜鹰行动355

16.1游戏背景及功能概述355

16.1.1游戏开发的背景概述355

16.1.2游戏功能介绍355

16.2游戏的策划及准备工作358

16.2.1游戏的策划358

16.2.2 Android平台下游戏开发的准备工作359

16.3游戏的架构362

16.3.1各个类的简要介绍362

16.3.2游戏框架简介365

16.4公共类Aircraft-Activity366

16.5游戏相关类368

16.5.1游戏界面绘制类(GLGameView)369

16.5.2游戏线程类(KeyThread)380

16.5.3子弹类(BulletForControl)391

16.5.4坦克类(TanKe)395

16.5.5山地绘制类(LandForm)399

16.5.6颜色国面类(CircleForDraw)400

16.5.7星空类(SkyNight)402

16.5.8爆炸效果绘制类(DrawBomb)403

16.5.9数字绘制类(NumberForDraw)404

16.6该游戏中的着色器405

16.6.1加载界面着色器405

16.6.2地形着色器405

16.6.3按钮着色器407

16.6.4星空着色器407

16.6.5生命值矩形着色器408

16.6.6颜色圆面着色器408

16.7游戏的优化与改进408

第17章 综合案例二——BN赛艇410

17.1游戏背景及功能概述410

17.1.1游戏开发的背景概述410

17.1.2游戏功能介绍410

17.2游戏的策划及准备工作412

17.2.1游戏的策划412

17.2.2 Android平台下游戏的准备工作413

17.3游戏的架构416

17.3.1各个类简要介绍417

17.3.2游戏框架简介421

17.4主控制类(MyActivity)423

17.5 2D界面相关类426

17.5.1欢迎界面类(WelcomeView)426

17.5.2 2D界面父类(MySFView)427

17.5.3主菜单类(MenuView)427

17.5.4 2D界面绘制类(ViewForDraw)428

17.5.5数据库工具类(DBUtil)429

17.5.6 Android系统版本对话框(AndroidVersionDialog)431

17.6选船界面相关类431

17.6.1着色器管理类(ShaderManager)432

17.6.2围墙类(ColorLightRect)432

17.6.3选船房间类(HouseForDraw)433

17.6.4展台类(DisplayStation)435

17.6.5赛艇类(Boat)436

17.6.6选船界面(XCSurfaceView)436

17.7游戏界面相关类441

17.7.1进度条类(Process)441

17.7.2 3D物体父类(BNDrawer)442

17.7.3 3D物体控制类(TDObjectForControl)442

17.7.4赛艇类(Boat)443

17.7.5可碰撞物体父类(KZBJDrawer)444

17.7.6可碰撞物体控制类(KZBJForControl)444

17.7.7赛艇与可碰撞物体检测碰撞线程(ThreadColl)446

17.7.8可吃物体父类(SpeedForEat)446

17.7.9可吃物体控制类(SpeedForControl)447

17.7.10晶体旋转线程(RotateThread)448

17.7.11赛艇与晶体碰撞检测线程(ThreadForEat)449

17.7.12比较两灌木距离摄像机距离类(MyComparable)449

17.7.13单个灌木类(SingleShrub)450

17.7.14灌木控制类(ShrubForControl)451

17.7.15赛艇赛道类(RaceTrack)451

17.7.16赛艇与桥碰撞检测类(PZZ)453

17.7.17赛艇运动路径工具类(PathUtil)453

17.7.18尾浪类(WeiLang)454

17.7.19水面类(Water)455

17.7.20游戏界面类(MyGLSurfaceView)456

17.7.21运动监听线程(KeyThread)463

17.8该游戏中的着色器465

17.9游戏的优化与改进467

热门推荐