im drawing a lot of complex flat (planar) shapes in 3d space although once each one is drawn, its position and rotation doesn’t change in the scene.
wondering, whats the best way of re-drawing shapes that don’t change as to optimise performance at run-time. i’d imagine any information that can be stored on the GPU would speed things up.
would this work best through VBO, Display Lists, VA?
any other opengl tricks that I don’t know about?
display lists are very easy to use, but are being depreciated as of opengl 3.0 - they will still be around for ages, but you might as well go with the current tech - which is VBO’s. If you don’t need to update the geometry you are gonna see an amazing speed improvement. Just fill in your vertex array (And color, texcoord etc.as well if need be) and send to graphics card. Then every frame just call glDrawArrays or glDrawElements without re-sending the data, and it will be super fast.
thanks for that insight memo… had no idea that display lists were on their way to being deprecated in opengl 3.0, yeah best to make things future proof.
VBOs it is!