Adi*_*dir 14 java android opengl-es
我看到了这个Google IO会话:http://code.google.com/intl/iw/events/io/2009/sessions/WritingRealTimeGamesAndroid.html
他说draw_texture函数速度最快,VBO速度更快.
但我不明白如何使用它(draw_texture方法或VBO方式).
有什么建议吗?
Lan*_*nek 20
视频中提到的精灵方法测试的源代码可在此处找到:http:
//code.google.com/p/apps-for-android/source/browse/#svn/trunk/SpriteMethodTest
以下是使用VBO的示例:http:
//code.google.com/p/apps-for-android/source/browse/SpriteMethodTest/src/com/android/spritemethodtest/Grid.java#237
以下是使用绘制纹理扩展的示例:http:
//code.google.com/p/apps-for-android/source/browse/SpriteMethodTest/src/com/android/spritemethodtest/GLSprite.java
但是要注意的一点是,绘制纹理扩展实际上并不是所有使用精灵的游戏中最快的.例如,许多游戏具有共享相同渲染状态的精灵组.在这种情况下,将具有相同渲染状态的所有精灵放在同一缓冲区中并使用相同的绘制命令绘制它们要快得多.draw texture命令不允许这样做.使用draw texture命令,你必须为每个sprite调用一次.
这就是经常使用地图集纹理的原因.地图集纹理是单个绑定纹理对象,其中包含许多不同的图像.您可以使用不同的图像绘制精灵,而无需绑定到不同的纹理对象.你所做的就是让他们在地图集纹理中使用不同的纹理坐标.如果另一个渲染状态也是相同的,例如所需的混合功能,那么您可以将精灵绘制在一起以获得更好的性能.
| 归档时间: |
|
| 查看次数: |
9244 次 |
| 最近记录: |