- const
 -   Rotate_Local_X = 1;
 -   Rotate_Local_Y = 2;
 -   Rotate_Local_Z = 3;
 -   Rotation_Speed = 0.8;
 -   Move_Speed = 0.02;
 - implementation
 - procedure SetDCPixelFormat(Handle:HDC);
 -  .. Initialisierung
 - procedure DrawTheObject;
 -  ... Objekt, ein 3D-Dreieck
 - procedure UpdateRotation(RotAxis: Integer; Ang: Single);
 - var
 -  TmpMat  : TMatrix4f;
 - begin
 -  Ang := DegToRad(Ang);
 -  if RotAxis = ROTATE_LOCAL_Y then
 -  begin
 -    TmpMat := CreateRotationMatrix(LocalY, Ang);
 -    LocalX := VectorTransform(LocalX, TmpMat);
 -    LocalZ := VectorTransform(LocalZ, TmpMat);
 -    ObjMat := MatrixMultiply(ObjMat, TmpMat);
 -  end else
 -  NormalizeVector(LocalX);
 -  LocalY := VectorCrossProduct(LocalZ, LocalX);
 -  NormalizeVector(LocalY);
 -  LocalZ := VectorCrossProduct(LocalX, LocalY);
 -  NormalizeVector(LocalZ);
 - end;
 - procedure glDraw;
 - begin
 - //  glClearColor(0,0,0,0);
 - //  Den Ausgabe-Bereich und T-Buffer leeren.
 - //  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
 -  //Einheitsmatrix wiederherstellen.
 -  glLoadIdentity;
 -  // Das Objekt positionieren.
 -  glTranslate( PosVect[0],  PosVect[1],  PosVect[2]);
 -  // Das Koordinatensystemzeichnen.
 - //  DrawCoordSys;
 -  // Die Matrix für die Korrekte Positionierung des Objektes setzen.
 -  glMultMatrixf(@ObjMat);
 -  //Das Objekt und das lokale Koodrinaten-System zeichnen.
 -  DrawTheObject;
 -  swapbuffers(DC);
 - end;
 - procedure TForm1.Button1Click(Sender: TObject);
 - begin
 -  LocalX[0]:=1;
 -  LocalX[1]:=0;
 -  LocalX[2]:=0;
 -  LocalY[0]:=0;
 -  LocalY[1]:=1;
 -  LocalY[2]:=0;
 -  LocalZ[0]:=0;
 -  LocalZ[1]:=0;
 -  LocalZ[2]:=1;
 -  dc:=getdc(form1.handle);
 -  setdcpixelformat(DC);
 -  glClearColor(0.6,0.6,0.6,1);
 -  glclear(GL_color_buffer_bit or gl_depth_buffer_bit);
 -  HRC:=wglCreateContext(dc);
 -  wglMakeCurrent(dc,HRC);
 -  ObjMat:=IdentityHmgMatrix;
 -  gldraw;
 -  wglMakeCurrent(0,0);
 - end;
 - procedure TForm1.Button1KeyPress(Sender: TObject; var Key: Char);
 -      UpdateRotation(Rotate_Local_Y,Rotation_Speed);
 
