I’m working with the old classic GL. Have questions about the matrix stack. Let’s say I have 6 transformations in the stack applied to my model which is made up of 50,000 vertices. Is the matrix stack resolved BEFORE application to the model? By ‘resolved’ I mean all 6 matrices in the stack are reduced to one via matrix multiplication. This would make sense because only one matrix would have to be applied to the 50,000 vertices of my model. Could it be that the 6 transformations are applied to the model one at a time? That would seem much slower to me.
Assuming the stack is reduced to one matrix before application to the model, how often is this done? Is it done every time I refresh the screen - even if nothing in the stack has changed? Is GL smart enough to know that it doesn’t have to reduce the stack again if none of the transformations have changed. Put another way - does it save this ‘resolved’ matrix and only update it if one of the transformations on the stack has changed? Or does it simply do all the matrix multiplications every time I render a frame?