I have a nice scene set up, and everything is rendering fine, and now I want to pan over the world, similar to how I’d adjust the origin of a UIScrollView or a CAScrollLayer with scrollToPoint(). I have determined that I can continually adjust the projectionMatrix on a GLKBaseEffect to change what I see, but I’m not sure if this is the appropriate way to do things.
In other code I see calls to glViewport and such, and that sounds like something that might be the proper thing to use, but I have no idea what this call actually does, so maybe it’s just a red herring.
What’s the typical way to do something like this?
You have to use you transformation matrices for this purpose. In other words, Projection and View matrices are kind of fake camera in your scene, so, if youi want to scroll your scene you have to apply translate transformation to either World (to move the objects in your scene) or View (to move the camera) matrix.
I recommend you this free on-line book about OpengLS ES: http://ofps.oreilly.com/titles/9780596804824/chmath.html