protected virtual void CameraMousePan(float dx, float dy) {
var size = 4.0f / Math.Min(Form.Height, Form.Width);
dx *= size;
dy *= size;
var c = Kn5ObjectRenderer.CameraOrbit;
if (c != null) {
c.Target += dy * Vector3.Cross(c.Look, c.Right) - dx * c.Right;
Kn5ObjectRenderer.AutoRotate = false;
Kn5ObjectRenderer.AutoAdjustTarget = false;
Renderer.IsDirty = true;
} else {
var f = Kn5ObjectRenderer.FpsCamera;
if (f != null) {
f.Position += dy * Vector3.Cross(f.Look, f.Right) - dx * f.Right;
Renderer.IsDirty = true;
}
}
}