Original Post
I understand the basic idea that you sort the renderables based on things like shaders, sampler state settings, textures, etc. What I'm curious about is how you actually implement the system. Do you have a list of predefined materials that the game will have and no more can be added at runtime? Then based on the entity type you assign it a id to each of those materials then sort all of the objects into lists of those types and then render each list? Maybe I am a stupid programmer but just reading ideas on how something should work doesn't always click with me. Seeing it in action and being able to step through the code while reading the theory makes it much easier for me to grasp the concept.