- procedure TfrmMain.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
- Y: Integer);
- begin
- glmatrixmode(gl_modelview);
- glloadidentity;
- inc(rotate_y,(x-x_alt)); //rotate_x, rotate_y sind glob. Variablen vom Typ integer
- inc(rotate_x,(y-y_alt));
- glrotatef(-rotate_x*0.1,-1,0,0);
- glrotatef(-rotate_y*0.1,0,-1,0);
- gltranslatef(position_x,position_y,position_z);
- x_alt:=x;
- y_alt:=y;
- .
- .
- .
- end;
- procedure TfrmMain.FormKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- var
- v,a,b:tvector;
- begin
- glmatrixmode(gl_modelview);
- glloadidentity;
- if key=vk_escape then application.Terminate
- else if key=vk_left then
- begin
- position_x:=position_x+0.2;
- end
- else if key=vk_right then
- begin
- position_x:=position_x-0.2;
- end
- else if key=vk_up then
- begin
- position_z:=position_z+0.2;
- end
- else if key=vk_down then
- begin
- position_z:=position_z-0.2;
- end;
- glrotatef(-rotate_x*0.1,-1,0,0);
- glrotatef(-rotate_y*0.1,0,-1,0);
- gltranslatef(position_x,position_y,position_z);
- end;