views:

58

answers:

0

I'd like to hear what people think the optimal draw calls are for Open GL ES (on the iphone).

Specifically I've read in many places that it is best to minimise the number of calls to glDrawArrays/glDrawElements - I think Apple say 10 should be the max in their recent WWDC presentation. As I understand it to do this you need to put all the vertices into one array if possible, so you only need to make the drawArrays call once.

But I am confused because this surely means you can't use the translate, rotate, scale functions, because it would apply across the whole geometry. Which is fine except doesn't that mean you need to pre-calculate every vertex position yourself, rather than getting open gl to do it?

Also, doesn't it mean you can't use any of the fan/strip settings unless you just have a continuous shape?

These drawbacks make me think I'm not understanding something correctly, so I guess I'm looking for confirmation that I should:

  • Be trying to make an uber array of all triangles to draw.
  • Resign myself to the fact I'll have to work out all the vertex positions myself.
  • Forget about push'ing and pop'ing each thing to draw into it's desired location

Is that what others do?

Thanks