
Originally Posted by
thokra
I disagree, for instance with bind to modify remaining in imporant areas and especially when prototyping something quickly, such carelessness is still easy to miss. And it's not a matter of visibility, it's a matter of non-existence - something that existed earlier just isn't there anymore. That doesn't mean that in areas that remain, state is anymore visible than in areas that were removed. In larger systems, you still don't have any clue which buffer object is bound to GL_ELEMENT_ARRAY_BUFFER or if the current active texture unit has TEXTURE_2D and TEXTURE_CUBE_MAP set simultaneously, unless you don't have some strategy for tracking the state yourself, some strategy to bind to targets without collisions or some strategy to unbind everything right after usage. How many drawbuffers are active on the current FBO again? Is it a readbuffer? Oh, damn, that blend function isn't correct in this place. You can always use glGet*() to retrieve current state but nobody wants that in a real-time application. So, there's still plenty of state left that can lead to false results all over the place.