• OpenGL ES 3.x游戏开发
21年品牌 40万+商家 超1.5亿件商品

OpenGL ES 3.x游戏开发

60 6.7折 89 九五品

仅1件

北京通州
认证卖家担保交易快速发货售后保障

作者吴亚峰 编著

出版社人民邮电出版社

ISBN9787115433497

出版时间2016-10

版次1

装帧平装

开本16开

纸张胶版纸

页数484页

字数99999千字

定价89元

上书时间2024-03-26

山頭斜照

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九五品
商品描述
基本信息
书名:OpenGL ES 3.x游戏开发
定价:89.00元
作者:吴亚峰 编著
出版社:人民邮电出版社
出版日期:2016-10-01
ISBN:9787115433497
字数:819000
页码:484
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
内容覆盖了学习OpenGL ES 3.x的必知必会的知识到基于OpenGL ES 3.x实现各种基础特效的技术 介绍了OpenGL ES 3.x渲染管线的知识和使用OpenGL ES 3.x的着色语言 介绍了OpenGL ES 3.x中的光照、纹理映射、3 D 模型加载、混合和雾等基础特效, 以及常用的3 D 开发技巧, 如标志板、天空盒、镜像绘制等。 既介绍了Android下使用SDK基于Java进行开发,又介绍了Android下使用NDK基于C++进行开发,iOS下使用xCode基于C++开发,还介绍了基于HTML5的3D渲染技术WebGL。 基于SDK的大型游戏案例——3D可爱抓娃娃和基于WebGL的大型案例——3D楼盘展示系统,方便读者快速上手。
内容提要
本书共分17章,内容按照必知必会的OpenGL ES 3.x基础知识、基于实现基本以及真实大型应用、游戏案例开发的顺序进行详细地讲解。主要内容为:OpenGL ES 3.x的渲染管线介绍,OpenGL ES 3.x可编程渲染管线着色器的着色语言介绍,3D开发中投影、各种变换的原理与实现,介绍了OpenGL ES 3.x中光照的基本原理与实现、点法向量与面法向量的区别以及光照的每顶点计算与每片元计算的差别,介绍了纹理映射的基本原理与使用,介绍了使用OpenGL ES 3.0开发各种3D基本形状的实现,包括圆柱、圆锥、圆环、螺旋管、几何球以及贝塞尔曲线旋转面等内容,讲解了3D模型加载,介绍了混合和雾的基本原理与使用以及常用3D开发技巧,如标志板、天空盒、镜像绘制等,介绍了OpenGL ES 3.0中经常使用的几种剪裁与测试,包括剪裁测试、Alpha测试、模板测试以及任意剪裁平面等,讲解了传感器应用开发和Android 及iOS平台下的OpenGL ES开发。通过两大案例,如休闲类游戏3D可爱抓娃娃和3D楼盘展示系统把所学的知识应用起来,让读者尽快进入实战角色。本书适合OpenGL ES 3D应用开发的初学者、程序员、游戏开发者,也适合作为大专院校相关专业师生的学习用书以及培训学校的教材。
目录
章Android概述11.1Android平台的特点及未来的趋势11.1.1全新理念带来的体验风暴11.1.2手机3D游戏和应用增长迅速21.2搭建Android开发环境21.2.1JDK的安装及环境变量的配置21.2.2Android SDK的下载与配置41.2.3Eclipse集成开发环境的下载与配置51.2.4创建并启动模拟器81.3Hello Android应用程序的开发101.3.1第一个Android应用程序101.3.2Android应用程序的项目结构131.3.3Android应用程序的调试141.3.4实际设备的联机调试161.4已有Android项目的导入和运行161.4.1项目的导入161.4.2应用程序的运行171.5Android应用程序运行的机制181.5.1应用程序的系统架构181.5.2应用程序框架181.5.3Android运行时191.5.4系统库191.5.5底层Linux内核201.6小结20第2章游戏开发相关的 Android基础知识212.1游戏中的音效212.1.1游戏中的即时音效212.1.2即时音效的一个案例222.1.3背景音乐播放技术242.1.4简易音乐播放器的实现262.2简单数据的存储——Preferences292.2.1Preferences简介292.2.2Preferences实现访问时间的记录292.3手机自带数据库——SQLite302.3.1初识SQLite302.3.2SQLite数据库的基本操作312.3.3SQLite数据库的简单案例322.3.4使用ContentProvider组件共享数据342.3.5使用ContentResolver获取分享数据362.4文件I/O372.4.1访问SD卡中的文件382.4.2访问手机中的文件夹392.4.3读取assets文件夹下的内容412.5Socket网络通信422.5.1Socket开发基本知识422.5.2服务器端432.5.3客户端442.6蓝牙通信452.6.1蓝牙通信的基本知识452.6.2聊天案例概览462.6.3聊天案例的开发过程472.7小结57第3章初识OpenGL ES 3.x583.1OpenGL ES 3.x概述583.1.1OpenGL ES 3.x简介583.1.2初识OpenGL ES 3.0应用程序613.1.3OpenGL ES 3.1新特性简介683.2着色器与渲染管线683.2.1OpenGL ES 2.0的渲染管线683.2.2OpenGL ES 3.0的渲染管线743.2.3OpenGL ES中立体物体的构建763.3主流手机GPU大PK773.3.1手机GPU四大家族对比773.3.2主流GPU的性能参数比较803.4小结81第4章着色语言Shading Language824.1着色语言概述824.2着色语言基础824.2.1数据类型概述834.2.2数据类型的基本使用874.2.3运算符894.2.4构造函数914.2.5类型转换924.2.6存储限定符934.2.7插值限定符984.2.8一致块994.2.9layout限定符1004.2.10流程控制1024.2.11函数的声明与使用1044.2.12片元着色器中浮点变量精度的指定1054.2.13程序的基本结构1064.3特殊的内建变量1064.3.1顶点着色器中的内建变量1064.3.2片元着色器中的内建变量1074.3.3内建常量1084.3.4内建uniform变量1084.4着色语言的内置函数1094.4.1角度转换与三角函数1094.4.2指数函数1104.4.3常见函数1114.4.4几何函数1144.4.5矩阵函数1164.4.6向量关系函数1164.4.7纹理采样函数1174.4.8微分函数1204.4.9浮点数的打包与解包函数1204.5用invariant修饰符避免值变问题1214.6预处理器1224.7小结123第5章必知必会的3D开发知识——投影及各种变换1245.1摄像机的设置1245.2两种投影方式1255.2.1正交投影1255.2.2透视投影1325.3各种变换1345.3.1基本变换的相关数学知识1345.3.2平移变换1355.3.3旋转变换1385.3.4缩放变换1395.3.5基本变换的实质1405.4所有变换的完整流程1415.5绘制方式1445.5.1各种绘制方式概览1455.5.2点与线段绘制方式1465.5.3三角形条带与扇面绘制方式1475.5.4顶点法与索引法1515.5.5layout限定符的使用1555.6顶点常量属性1565.6.1顶点常量基本知识1565.6.2一个简单的案例1565.7设置合理的视角1585.8设置合理的透视参数1635.9多边形偏移1665.10卷绕和背面剪裁1685.10.1基本知识1685.10.2一个简单的案例1695.11小结170第6章光照1716.1曲面物体的构建1716.1.1球体构建的基本原理1716.1.2案例效果概览1726.1.3开发步骤1726.2基本光照效果1756.2.1光照的基本模型1756.2.2环境光1756.2.3散射光1776.2.4镜面光1816.2.5三种光照通道的合成1856.3定位光与定向光1876.4点法向量和面法向量1896.5光照的每顶点计算与每片元计算1916.6小结193第7章纹理映射1947.1初识纹理映射1947.1.1基本原理1947.1.2一个简单的案例1957.1.3色彩通道的灵活组合1997.2纹理拉伸2017.2.1三种拉伸方式概览2017.2.2不同拉伸方式的案例2037.3纹理采样2077.3.1纹理采样概述2077.3.2近点采样2077.3.3线性纹理采样2087.3.4MIN与MAG采样2097.3.5不同纹理采样方式的案例2107.4mipmap纹理技术2147.5多重纹理与过程纹理2157.5.1案例概览2157.5.2将2D纹理映射到球面上的策略2167.5.3案例的场景结构2177.5.4开发过程2187.6压缩纹理的使用2247.7点精灵2267.7.1基本知识2267.7.2一个简单案例2277.83D纹理2297.92D纹理数组2337.10采样器配置对象的使用2377.11小结239第8章3D基本形状的构建2408.1圆柱体2408.1.1顶点原始位置的生成2408.1.2案例的开发2428.2圆锥体2448.2.1顶点原始位置的生成2448.2.2案例的开发2468.3圆环体2488.3.1顶点原始位置的生成2488.3.2案例的开发2498.4螺旋管2508.4.1顶点原始位置的生成2508.4.2案例的开发2518.5几何球2528.5.1顶点原始位置的生成2528.5.2案例的开发2548.6足球碳分子模型的搭建2598.6.1搭建的基本原理2598.6.2案例的开发2618.7贝塞尔曲线及旋转面2648.7.1三维旋转曲面的生成2648.7.2贝塞尔曲线2658.7.3Bezier曲线生成工具2668.7.4印度古典建筑场景的开发2688.8小结269第9章更逼真的游戏场景————3D模型加载2709.1obj模型文件概述2709.1.1obj文件的格式2709.1.2用3ds Max设计3D模型2719.2加载obj文件2729.2.1加载仅有顶点坐标与面数据的obj文件2729.2.2加载后自动计算面法向量2759.2.3加载后自动计算平均法向量2789.2.4加载纹理坐标2809.2.5加载顶点法向量2839.3双面光照2849.4小结2860章独特的场景渲染技术——混合与雾28710.1混合技术28710.1.1混合基本知识28710.1.2源因子和目标因子28810.1.3简单混合效果案例29010.1.4ETC2压缩纹理的使用29210.2地月系云层效果的实现29510.3雾29710.3.1雾的原理与优势29710.3.2雾的简单实现29810.4小结3001章常用的3D开发技巧—— 标志板、天空盒、镜像绘制等30111.1标志板30111.1.1案例效果与基本原理30111.1.2开发步骤30211.2灰度图地形30511.2.1基本原理30611.2.2普通灰度图地形30611.2.3过程纹理地形30911.2.4MipMap地形31111.2.5顶点着色器采样纹理地形31211.3用粒子沉积算法构建地形31411.3.1粒子沉积法的基本原理31411.3.2地形设计器的使用31611.3.3粒子沉积的核心算法类31811.4天空盒与天空穹31911.4.1天空盒31911.4.2天空穹32111.4.3天空盒与天空穹的使用技巧32211.5简单镜像效果32311.5.1镜像基本原理32311.5.2基本效果案例32311.5.3升级效果案例32611.6动态文本输出32711.6.1案例效果与基本原理32711.6.2具体开发步骤32711.7非真实感绘制32911.7.1基本原理与案例效果32911.7.2具体开发步骤33111.8描边效果的实现33311.8.1沿法线挤出轮廓33311.8.2在视空间中挤出33511.9小结3362章渲染出更加酷炫的3D场景——几种剪裁与测试33712.1剪裁测试33712.1.1基本原理与核心代码33712.1.2一个主次视角的简单案例33712.2Alpha测试33812.2.1Alpha测试基本原理33912.2.2一个椭圆窗口的案例33912.3模板测试34112.3.1基本原理34112.3.2一个简单的案例34312.4任意剪裁平面34412.4.1基本原理34412.4.2茶壶被任意平面剪裁的案例34512.5小结3463章引人入胜的游戏特性——传感器应用开发34713.1基本的开发流程34713.2加速度传感器34913.2.1加速度传感器简介34913.2.2案例的开发35013.3磁场传感器35113.3.1磁场传感器简介35113.3.2案例的开发35113.4陀螺仪传感器35213.4.1陀螺仪传感器简介35213.4.2案例的开发35313.5光传感器35413.5.1光传感器简介35413.5.2案例的开发35413.6温度传感器35513.6.1温度传感器简介35513.6.2案例的开发35513.7接近传感器35613.7.1接近传感器简介35713.7.2案例的开发35713.8姿态传感器35813.8.1姿态传感器简介35813.8.2案例的开发36013.9加速度传感器综合案例36113.10传感器的坐标轴问题36313.11小结3664章Android NDK及iOS 平台下的OpenGL ES开发36714.1使用Android NDK进行OpenGL ES开发36714.1.1Android NDK开发环境的下载及配置36714.1.2Android NDK项目在Eclipse中的配置37014.1.3使用Android NDK开发简单的OpenGL ES 3.0程序37114.2使用Android NDK开发山地地形场景37814.2.1案例效果及山地绘制类的开发37914.2.2NDK端渲染函数的开发38014.3基于iOS平台开发OpenGL ES 3.0程序38214.3.1案例运行效果及Xcode项目的创建38214.3.2案例的开发过程38514.4基于iOS平台的地月系场景案例39014.4.1案例的运行效果39114.4.2案例的开发过程39114.5小结3945章Web端3D游戏开发————WebGL 3D应用开发39515.1WebGL概览39515.1.1WebGL简介39515.1.2WebGL效果展示39615.2初识WebGL应用39615.2.1WebGL应用案例部署运行步骤简介39715.2.2简单渲染3D模型案例的开发39715.3加入光照效果的WebGL案例40415.4带有纹理贴图的WebGL案例40715.4.1一个简单的案例40815.4.2WebGL版的地月系案例41115.5小结4136章休闲类游戏——3D可爱抓娃娃41416.1游戏的背景及功能概述41416.1.1背景描述41416.1.2功能介绍41416.2游戏的策划及准备工作41716.2.1游戏的策划41716.2.2手机平台下游戏的准备工作41816.3游戏的架构42016.3.1各个类的简要介绍42016.3.2游戏框架简介42316.4界面显示类42416.4.1显示界面类MySurfaceView42416.4.2游戏界面类GameView42616.4.3游戏主菜单界面类MainView43016.5辅助工具类43116.5.1辅助类43216.5.2自定义管理器类43616.5.3线程类43916.6绘制相关类44116.6.13D模型绘制类的开发44116.6.2BN2DObject绘制类的开发44216.7粒子系统的开发44416.7.1基本原理44416.7.2开发步骤44416.8本游戏中的着色器44716.9游戏的优化及改进44916.10小结4497章基于WebGL的3D 楼盘展示系统45017.1应用背景及功能概述45017.1.1背景概述45017.1.2功能介绍45017.2功能预览及架构45117.2.1基于WebGL的3D楼盘展示系统功能预览45117.2.2基于WebGL的3D楼盘展示系统目录结构45417.3Web平台下应用开发前的准备工作45517.3.1图片资源的搜集45517.3.2模型资源的采集45617.4地图设计器的开发45717.4.1地图设计器的开发设计思路45717.4.2地图设计器的框架介绍45817.4.3地图设计器的开发步骤45817.5公共函数介绍46117.5.1工具函数文件GLUtil.js46117.5.2obj加载文件LoadObjUtil.js46317.5.3着色器加载文件LoadShaderUtil.js46417.5.43D物体绘制文件ObjObject.js46517.5.5矩阵操作函数文件MatrixState.js46617.6物体创建及绘制相关函数介绍46717.6.1创建普通物体文件loadObject.js46717.6.2地面绘制文件DrawLandMaps.js46817.6.3普通按钮绘制文件DrawButton.js47017.7各个功能模块的实现47017.7.1主界面mainView.的开发47017.7.2楼房模型界面houseModel.的实现47517.7.3户体模型界面roomType.的开发47717.7.4小区浏览界面residentialGarden.的实现47817.8应用中运用的着色器介绍48117.8.1普通物体着色器48117.8.2不带光照物体着色器48317.8.3天空盒着色器48317.9应用的优化与改进48417.10小结484
作者介绍
吴亚峰,毕业于北京邮电大学,后留学澳大利亚取得硕士学位。1998年开始从事Java应用的开发,有10多年的Java开发与培训经验。主要的研究方向为OpenGL ES、手机游戏、Java EE以及搜索引擎。同时为手机游戏、Java EE独立软件开发工程师,并兼任百纳科技Java培训中心首席培训师。近十年来为数十家企业培养了上千名不错软件开发人员,曾编写过《Android 3D游戏开发技术宝典——OpenGL ES 2.0》、《Cocos2d-X 3.0游戏开发实战详解》、《Unity 4 3D开发实战详解》等多本技术书籍。2008年初开始关注Android平台下的3D应用开发,并开发出一系列的Android应用程序与3D游戏。
序言

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP