一般来说,使用OpenGL ES直接绘制2D变换(我猜是使用对modelview的调用)还是通过动画(绑定来自同一纹理图集的一系列不同纹理)更具性能优化?
我的直觉是,坚持使用相同的纹理并用OpenGL ES转换它会更好,但我不太确定我需要多少动画,所以我需要知道它是否以及为什么会更优。
发布于 2013-02-02 01:54:11
你想创建类似于spritesheet动画的东西,还是仅仅移动一个对象?
例如,在我的游戏中,我有一辆车在路上行驶。我有四个纹理来模拟旋转的轮子。我已经在GPU中创建了VBO,并使用相同的顶点不断更改纹理处理程序。我使用模型视图矩阵移动汽车。
提高性能的是在GPU中使用VBO,并避免在每一帧绑定顶点数组。
发布于 2013-02-02 02:12:39
我不确定您打算如何使用动画纹理实现变换。但总的来说,是的,直接做2D变换(我假设是用顶点着色器)要高效得多。使用动画纹理,您将支付上传整个纹理集的带宽成本,以及更大的工作纹理集增加的纹理缓存压力。另一方面,2D变换可能仅对每个帧进行着色器统一更新。
https://stackoverflow.com/questions/14442240
复制相似问题