Figure out the deal with all of the clipping which is happening.
May be due to lack of effect shader programs or some issue with texture binding.
Review node lookup in the bsp traversal to ensure faces are being added to their surfs properly. For example, when a new surface is created and moved to the vector, does the std::move properly perform the operation?
Iterative
Minimize the amount of objects being looked up for a given face which happen per frame. For example, if a shader can be looked up once and passed to multiple functions for further evaluation, that's the way to go. ( some improvements could still be made here, but for the most part this is taken care of)
Inline
Once a function grows past 6-8 lines, remove the inline.
glMultiDrawElements
Figure out the deal with all of the clipping which is happening.std::move
properly perform the operation?Iterative
Minimize the amount of objects being looked up for a given face which happen per frame. For example, if a shader can be looked up once and passed to multiple functions for further evaluation, that's the way to go.( some improvements could still be made here, but for the most part this is taken care of)Inline