I'm a beginner in OpengGL and I'm having some difficulty assimilating some concepts. I'm reading the book Mathematics for 3D Game Programming and Computer Graphics 3rd Ed. , in which the author explains the various coordinate systems that OpenGL uses to describe objects.
From what I understand there are 5 coordinate systems, these being:
Transformations from space to space are made through arrays . The matrix that turns Object Space into World Space is called Model Matrix . The matrix that turns World Space into Camera Space is called View Matrix . We can create a single array that takes Object Space to Camera Space by multiplying the Model Matrix with View Matrix . We call it the Model-View Matrix and the transformation it gives to Model-View Transformation .
I wrote everything I could understand so that you can correct me in something I said wrong, or reinforce some concept.
My main question is: why would OpenGL instead of doing all these transformations in the objects just allow us to position our object in the World Space and define a camera in that same space and only she is transformed? Is not it a loss of performance to do this much of the transformations in the objects to every frame?
Anyway, that was my doubt. I ask you to correct me if I said something wrong.