Всем доброго времени суток, пытаюсь реализовать вращение сцены opengl мышью, вот наработки:
var
Mouse:TPoint;
Rotating:boolean;
AngleX, AngleY:single;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Mouse.x :=x;
Mouse.y :=y;
Rotating:=true;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Rotating:=false;
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (Rotating = true) then
begin
AngleY:=AngleY+(y-Mouse.y);
AngleX:=AngleX+(x-Mouse.x);
Mouse.x :=x;
Mouse.y :=y;
end;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
FormResize(Sender);
glRotatef(AngleX,1,0,0);
glRotatef(Angley,0,1,0);
........
end;
Но у мня не каких действий не происходит при вращении мышью, возможно я не верно передаю координаты, не знаю, что и делать...