Если вы делаете 2D-рендеринг, вы, вероятно, вызываете glOrtho где-нибудь, чтобы определить свою систему координат. Полное предположение, но ваш код может выглядеть примерно так:
glOrtho( 0, screenWidth, 0, screenHeight, -1, 1 );
Здесь вы определяете положение вашей камеры. Создайте переменные положения камеры x и y и вместо этого вызовите
glOrtho( camX - screenWidth/2, camX + screenWidth/2, camY - screenHeight/2, camY + screenHeight/2, -1, 1 );
Убедитесь, что это называется каждый кадр, поскольку положение камеры, очевидно, изменится. Ваш код рендеринга может выглядеть примерно так:
// clear framebuffer
glMatrixMode( GLES10.GL_PROJECTION );
glLoadIdentity();
glOrtho( camX - screenWidth/2, camX + screenWidth/2, camY - screenHeight/2, camY + screenHeight/2, -1, 1 );
glMatrixMode( GLES10.GL_MODELVIEW );
glLoadIdentity();
// draw your stuff