public EulerCamera(KeyboardBuffer kb, Vector3f position, Vector3f rotation) {
		super(kb);
		
		this.position = position;
		this.rotation = rotation;

		// Enable Depth clamping if supported
		if (GLContext.getCapabilities().GL_ARB_depth_clamp) {
			GL11.glEnable(ARBDepthClamp.GL_DEPTH_CLAMP);
		}

		//Instance the Mouse object if it does not already exist
		//TODO: Move this to the InputManager
		try {
			if(!Mouse.isCreated()) Mouse.create();
		} catch (LWJGLException e) {
			e.printStackTrace();
		}
		
		//Register the input keys
		this.registerKBInputs(new int[] {
			Keyboard.KEY_W,
			Keyboard.KEY_A,
			Keyboard.KEY_S,
			Keyboard.KEY_D,
			Keyboard.KEY_SPACE,
			Keyboard.KEY_LSHIFT,
			Keyboard.KEY_ESCAPE
		});
	}