android 3D游戏开发 - 潜入理解

1.3d场景中的 3d模型的最基本单位是称为顶点的vertex

2.openGL支持多种多边形 openGL es目前只支持三角形 主要是出于性能的原因,任何多边形都可以拆分成多个三角形

    在openGL中一个长方体可以通过12个三角形来搭建

3.openGL采用三维笛卡尔坐标系 x y z 一个顶点数组是包括场景中不分或者所有顶点坐标数据的简单数组 例如场景中有n个顶点

    则坐标值有3n个 则顶点数组的尺寸有3n。

4.背面剪裁 视角在一个三角形的背面是不渲染此三角形 既看不到此三角形 大大提升渲染效率

5.三角形的正反面 当面对一个三角形 顶点逆时针顺序---正面 反之 反面

6.场景渲染器 SenceRenderer

7.不同的绘制方式

    gl.glDrawElements( //绘制图形

                                    GL10.GL_TRANGLES, //填充模式,这里是以三角形方式填充

                                    iCount,//顶点数量

                                    GL10.GL_UNSIGNED_BYTE, //索引值的类型

                                    myIndexBuffer//索引值数据

                                    );

     GL_POINTS--把每个点作为一个点进行处理,索引数组中的第n个顶点既定义了点n,共绘制n个点

     GL_LINES--把每两个点作为独立的线段面 2n和2n+1 定义了第n条线段 总共绘制了n/2个线段 n为奇数 忽略最后一个点 (独立的)

     GL_LINES_STRIF-- 相互依次相连接 从第0个顶点到最后一个顶点 总绘制N-1个线段

     GL_LINE_LOOP-- 在GL_LINES_STRIF基础上 把第最后的点和第0个点连接起来组成回路 总绘制线段N个

     GL_TRANGLES -- 索引数组中每三个顶点作为一个独立的三角形 索引数组中第3n 3n+1 3n+2顶点定义了第n个三角形 总共绘制n/3个三角形 (独立的)

     GL_TRANGLES_STRIP -- 绘制一组相邻的三角形 对于索引数组的第n个点 规则:

                                           若n为奇数 第n+1 ,n和 n+2顶点定义了第n 个三角形

                                           若n为偶数 第n,n+1和n+2 顶点定义了第n个三角形

                                           总共绘制n-2个三角形

     GL_TRANGLES_FAN -- 绘制一组相连的三角形 规则:从0点与n+1与n+2定义了一个三角形 总共绘制n-2个三角形(扇形)

8.使用索引法绘制图像 : 就是在建立顶点缓冲后 通过索引缓冲中的索引去任意调用顶点缓冲中的对应顶点来排列顶点顺序,

    从而绘制各个位置上面的 点来达到绘制图形的目的

9.openGL ES 绘制前的准备工作

    1. 清楚颜色缓存与深度缓存

        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT );

        缓存类型:颜色缓存、深度缓存、模板缓存、累计缓存

    2.加载单位变换矩阵

       gl.glMatrixMode(GL10.GL_MODELVIEW);

       gl.glLoadIdentity();

       此工作将会清楚虚拟世界中的一切平移、旋转、缩放或者其他变化, 并将观察者至于原点

10.

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着智能手机移动嵌入式平台硬件性能的不断提升,3D游戏应用也逐渐普及开来。《Android 3D游戏开发技术宝典:OpenGL ES 2.0》结合作者多年从事3D游戏应用开发的宝贵经验,全面介绍了与Android平台相关的必知必会的基础知识及大型完整3D案例,讲解上由浅入深,循序渐进,起点低、终点高,既适合初学者学习,也适合有一定基础的读者进一步提升之用。另外,由于OpenGL ES 2.0的着色语言通用于各种移动嵌入式平台,因此,《Android 3D游戏开发技术宝典:OpenGL ES 2.0》中与着色器开发相关的60%左右的内容还可供iPhone、Windows Mobile、MeeGoo等平台的开发人员参考。 全书共22章,其中第1章与第2章为Android平台相关的一些基础知识;第3章~第10章介绍了基于OpenGL ES 2.0进行3D应用开发的一些必知必会的基本知识;第11章~第15章介绍了一些高级特效的实现方法;第16章~第17章介绍了3D游戏开发中相关的一些物理、碰撞检测知识以及常用的3D物理引擎JBullet;第19章介绍了3种人机交互的高级技术;第20章~第22章给出了3个完整的大型3D游戏案例,总代码量接近6万行。同时为了便于读者的学习,《Android 3D游戏开发技术宝典:OpenGL ES 2.0》附赠的光盘中包含了书中所有案例的完整源代码,同时给出了最后3个完整大型3D游戏案例的讲解视频,最大限度地帮助读者快速掌握相应的开发技术。 《Android 3D游戏开发技术宝典:OpenGL ES 2.0》适合Android程序员、游戏开发者及Android爱好者学习,也可以作为相关培训学校和大专院校相关专业的教学用书。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值