OpenGL ES Game Development 第五章(实用操作篇,译者注)

本章信息:

 

•  pc和手机游戏区别

•  为手机游戏优化代码

    经验之谈:处理游戏固定桢速和不同尺寸适配

    几何和纹理动画简介

    使用OpenGL ES 渲染2D画面

 

OpenGL ES的出现,使得pc端移植到手机端,成为可能和easy的事。

 

porting面临的问题:

    CPU speed

    GPU speed

    CPU上缺少HW floating pt

    系统内存的大小和速度

    存储空间

 

CPU方面的建议:

少使用浮点数。必要时使用sine查找表。

 

内存和存储能力:

重点:渲染资源、声音。

使用 压缩。

使用platform相关的native的纹理压缩格式。

 

资源artwork创建

从渲染性能角度出发,用低端机开发,或者不能 性能机器,不能artwork.

资源角度,可以先只画一套高清的纹理,然后做个工具,针对不同平台来缩放或改变格式。

 

GPU运算速度,决定了一桢能渲染多少顶点。

 

基于Graphics Pipeline的优化

直接影响流畅的一桢可渲染的多边形的数量。

 

知道你的数据类型。

尽量使用小的数据类型,减少memory带宽。如16位或8位的定点数。还有助于减少几何模型的占用的存储空间。

 

一个顶点用到的数据省几个字节,数以千计的顶点就会节省很多空间,、

减少顶点传输,减少glDrawArrays()/ glDrawElements()调用。增加该方法绘制的顶点数从而减少调用次数,比减少顶点数而调用次数增加,执行速度快很多。

 

VBO的使用。

 

只画你所看到的。

不同远近,对于一个物体来说,使用不同面的模型:设计师做几套或用工具导出。

一般三种:特写镜头用的高清、中等距离、很远距离。

虽然OpenGL ES会不画屏幕以外的,但传输到OpenGL ES本身就损耗性能,所以在屏幕外时,就不要去传送它到OpenGL ES.

一些排除不可见物体的算法:

group法。

适用第一视角的BSP算法。

用于野外环境的四叉树、八叉树。

 

理清渲染状态,减少渲染状态的改变次数,如改变textureID。

以4辆摩托车渲染为例,优化后,改变渲染状态的次数,从36,骤减至12 !。

拼大图,也能减少texture改变的次数。

 

以固定桢速运行

一般是控制在30fps,即一桢耗时33ms左右。

快的时候,等待。

慢的时候,引入frame_speed的概念,logic x frame_speed,以保持游戏运行速度一致。

 

几何和纹理动画

几何动画:mesh morphing和skeletal animation。

纹理动画:使用一张拼起来的大图,变换坐标即可。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值