【发布时间】:2013-04-12 18:41:33
【问题描述】:
我在 Quad 类中编写了几个方法来绘制四边形并进行旋转。
目前,draw sprite 方法就是这样做的——将四边形渲染到屏幕上。
但是,旋转方法会旋转并且也会渲染四边形。
我已经编写了另外几个方法,一个只是旋转但不渲染,另一个渲染例程在进行矩阵乘法时考虑了旋转矩阵。所以,不要这样做:
Quad sprite = new Quad();
Quad sprite.rotate(0,0,45,mMVPMatrix); //rotate by 45 degrees and render at 0,0
我可以这样做:
Quad sprite = new Quad();
sprite.rotate(45); //Rotate sprite by 45 degrees
sprite.draw(0,0,mMVPMatrix); //Render sprite at 0,0
虽然后者在编写我的主要代码时更加灵活,但这确实意味着即使我不想旋转精灵,绘图例程仍然必须采用旋转矩阵并将其与投影矩阵结合。
当我有 50 多个精灵时,这会花费我吗?我知道“更多代码”和“更好的性能”之间总是需要权衡取舍,但实际上,这会是一个大问题吗?
【问题讨论】:
标签: performance rotation matrix-multiplication