I've implemented basic 3D functionality and made little "2.5D" demo in orthographic projection using OpenGL ES 2 and Box2D.
Now I want to make completely two-dimensional game (using sprites) and consider 2 variants:
- Implement 2D graphics separately from 3D in separate layer, leave 3D stuff in background, draw 2D using various simplified algorithms (disable depth testing, simplified culling etc.)
- Leave everything as is and use billboards for sprites
Currently I use hierarchical system of entities with matrix transformations. I know about computational complexity of 3D and 2D graphics and believe first method should result in faster code, though it's my first engine and my google-fu fails me this time, so I'm not sure about it.
Engine is Desktop/Mobile.
What method would you recommend? Does implementing first method worth it (in performance aspect)? Is there any engines that went first way?
P.S. If you have any books to suggest where this question is answered, or just good game engine design books - please leave info about it in comment or answer :)