I have a sphere that I need to be able to Zoom in and out with.
I do this by using the mouse to get a deltaZ value and then plug this deltaZ into glTranslate(). This method works great when my sphere is sitting in the center of the screen, but if I move it to the corners or the sides of my viewport(by calling glTranslate with a different X and Y value), it zooms and goes in a diaginal direction (in X and Y). Please note that there is only one glTranslate call in my code and it is in my draw method. All the values that change the X, Y or Z values are passed into this draw method. Any ideas on what my problem could be and how to fix it??