Bei mir funktioniert es so.
Delphi-Quellcode:
procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if shift=[ssRight] then
begin
mx:=x;
my:=y;
end;
end;
procedure TForm1.GLSceneViewer1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var xx, yy: Single;
pl: TGLCoordinates3;
begin
if shift=[ssRight] then
begin
xx:=GLCamera1.Position.x;
yy:=GLCamera1.Position.y;
GLCamera1.Position.x:=xx+(my-y)/20;
GLCamera1.Position.y:=yy+(mx-x)/20;
mx:=x;
my:=y;
end;
end;