I'm trying to make a 2D game in OpenGL ES. Can someone help better understand the viewport and projection matrix? I usually just set the viewport to my screen's physical size and then I can effectively zoom in by making projection matrix's width and height smaller. I can zoom out by making the width and height larger in order to see more of my game world. What I don't understand is how this relates to the viewport. Does the viewport just change the resolution? For example if I half the length and height of the view port will that just render everything with a quarter of the amount of pixels that was previously used? Thanks for clarifying this.