Android OpenGL(二) 学习《Android 3D 游戏开发技术宝典 -openGL ES 2.0》

来源:互联网 发布:java飞机大战代码解析 编辑:程序博客网 时间:2024/04/28 19:42


note:
1 1-4章相关基础
2 5-8章重点
3 9-15章重点的进阶
4 16-19章相关技术:物理,传感器,事件交互。
5 20-22章 实例。

第一章 基础环境
第二章 游戏相关开发基础
2.1 soundpool
第三章 openGL ES 2.0
3.1 shaderUtile.loadAssetsFile("vertex.sh");
3.2 ES 1.x 的渲染管线
    A 基本处理:设定顶点坐标,顶点颜色,顶点的纹理坐标,制定绘制方式。顶点数据缓存。
    B 变换与光照:平移旋转缩放等操作,根据光源计算各顶点的光照情况。
    C 图元装配:图元组装与处理。
    D 光栅化:投影到2D平面,产生一个一个的片元。
    E 纹理环境与颜色求和。
    F 雾
    G Alpha测试
    H 剪裁测试
    I 深度测试与模板测试
    J 颜色缓存混合
    K 帧缓存
3.3 ES 2.0 的渲染管线
    顶点着色器:取代变换与光照。输入属性变量,全部变量,采样器,临时变量。输出易变变量,内建变量。
    片元着色器:取代纹理环境与颜色求,雾,Alpha测试。接受易变变量,内建变量。输出gl_fragColor.
3.4 手机GPU四大家族(两个重要参数:三角形输出率,像素填充率):
A Imagination powerVR SGX系列
B ARM的mali系列
C 高通的Adreno系列
D 英伟达 
第四章 着色语言
4.2 数据类型[7]
    A 标量:bool,int,float
    B 向量:[ib]vec[234]
    C 矩阵:mat[234]
    D 采样器:sampler2D,sampler3D,samplerCube。
    E 结构体
    F 数组
    G 空类型
4.2.5 限定符:
    attribute:主要是顶点与颜色,需要在宿主程序批量传入。
    uniform:主要是矩阵,光源,摄像机。需要在宿主程序传入。
    varying:传递到片元着色器。
    const
4.2.8 浮点变量精度:lowp,mediump,highp.
4.3.1 顶点着色器内建变量:gl_Position,gl_PointSize.
4.3.2 片元着色器内建变量:gl_FragCoord,gl_FragFacing,gl_FragColor,gl_FragData
4.4 内置函数:
    A 独特的硬件功能的访问接口。
    B 简单的数学函数
    C 一下复杂函数:...matrixCompMult,纹理采样函数,向量关系函数,积分函数,矩阵函数。
第五章 投影与变换
5.1 摄像机的位置。用Matrix.setLookAtM配置相机。
5.2 两种投影
    A 正交投影 Martrix.orthoM(...)完成对正交投影的设置。
    B 透视投影 Matrix.frustumM(...)
5.3 各种变换 都是坐标向量与矩阵相乘完成。
    A 平移变换
    B 旋转变换
    C 缩放变换
    变换的实质:不是直接针对物体,而是针对坐标系。
5.4 绘制方式
5.5 设置合理的视角
5.6 卷绕和背面剪裁
第六章 光照
6.1 构建球体
6.2 光照组成:
    A 环境光(Ambient) 环境光照射效果=材质的反射系数 x 环境光强度。
    B 散射光(Diffuse) 散射光照射结果=材质的反射系数 x 散射光强度 x max(cos(入射角),0)
    C 镜面光 (Specular)镜面光照射结果=材质的反射系数 x 镜面光强度 x max(cos(入射角)的粗糙度次方,0)
6.3 定向光与定位光
6.4 法向量与面法向量
6.5 光照效果在每个顶点计算与在每个片元计算
第七章 纹理映射
7.1 纹理坐标
7.2 拉升方式:重复,截取
7.3 纹理采样:最近点采样,线性采样(做了平滑处理).(通常MIN采用最近点采样,MAG采用线性采样)
7.4 mipmap纹理映射.生成一系列纹理映射.
7.5 多重纹理与过程纹理
第八章 3D基本形状的构建
8.1 圆柱
8.2 圆锥
8.3 圆环
8.4 螺旋管
8.5 几何球
8.6 足球碳分子模型
8.7 贝塞尔曲线与旋转面
第九章 3D模型加载
9.1.2 用3DMax 设计3D模型到处obj文件


第十章 混合与雾
10.1 混合 打开系统配置即可.
10.3 雾 模型f=max(min((end-dist)/(end-start)),0.0)
第十一章 常用的3D开发技巧
11.1 标志板
第十二章 几种剪裁与测试
第十三章 顶点着色器的妙用
第十四章 片元着色器的妙用
第十五章 真实光学环境的模拟
第十六章 游戏中的物理学
第十七章 游戏的心脏--物理引擎
16.1 知名的物理引擎
16.2 开源的JBullet
第十八章 传感器的应用开发
第十九章 游戏开发小贴士
19.1 3D拾取技术
19.2 多点触碰
19.3 多键监听
第二十章 BN赛艇
第二十一章 火力篮球
第二十二章 夜莺行动
原创粉丝点击