- Allocate the bits of a 32-bit or 64-bit integer however your engine needs to draw things (ex. by depth, material, render pass.)
- Sort the todo list by this key with the fastest sort you have on hand.
- Walk the todo list and submit actions to the GPU.
On slower platforms (PS2) rather than maintaining a single large list to sort you maintain separate smaller buckets and partially pre-sort the calls when queueing.
Search help: sort your draw calls.