public class Camera { public static float fov, aspect, near, far, x, y, z, rx, ry, rz; public static void init(float x, float y, float z, float rx, float ry, float rz, float fov, float aspect, float near, float far) { Camera.x = x; Camera.y = y; Camera.z = z; Camera.rx = rx; Camera.ry = ry; Camera.rz = rz; Camera.fov = fov; Camera.aspect = aspect; Camera.near = near; Camera.far = far; initGl(x, y, z, rx, ry, rz, fov, aspect, near, far); } public static void initGl(float x, float y, float z, float rx, float ry, float rz, float fov, float aspect, float near, float far) { glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(fov, aspect, near, far); glMatrixMode(GL_MODELVIEW); glEnable(GL_DEPTH); glEnable(GL_DEPTH_FUNC); glDepthFunc(GL_LEQUAL); useTraits(); } public static void useTraits() { glPushMatrix(); glRotatef(rx, 1, 0, 0); glRotatef(ry, 0, 1, 0); glRotatef(rz, 0, 0, 1); glTranslatef(x, y, z); } }