Einzelnen Beitrag anzeigen

Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Probleme beim initialisieren von OpenGl (Lazarus)

  Alt 17. Aug 2010, 17:32
Für Lazarus Probleme gibts ja auch das http://www.lazarusforum.de/

Aber bei solchen Kleinigkeiten kann man auch so helfen .

Kopiere die dglOpenGL.pas in das Verzeichniss, in welchem du deine Unit1 gespeichert hast (Solltest du unter Linux arbeiten, wäre die Großkleinschreibung auch noch zu beachten).

Dann würde ich dir das Paket "OpenGLControl" von Lazarus (zumindest in meiner SVN Version gibts das) empfehlen, dieses macht einiges einfacher.

Ist die Komponente installiert, dann kannst du sie einfach wie ein TPanel auf dein Formular setzen.


dann nur noch folgende Dinge Setzen :
Delphi-Quellcode:
Var
  allowcnt: Integer = 0;

Procedure TForm1.OpenGLControl1MakeCurrent(Sender: TObject; Var Allow: boolean);
Begin
  If allowcnt > 2 Then Begin
    allow := false;
    exit;
  End;
  inc(allowcnt);
  // Sollen Dialoge beim Starten ausgeführt werden ist hier der Richtige Zeitpunkt
  If allowcnt = 1 Then Begin
    // Init dglOpenGL.pas , Teil 2
    ReadExtensions; // Anstatt der Extentions kann auch nur der Core geladen werden. ReadOpenGLCore;
    ReadImplementationProperties;
  End;
..
End;

Procedure TForm1.FormCreate(Sender: TObject);
Begin
  // Init dglOpenGL.pas , Teil 1
  If Not InitOpenGl Then Begin
    showmessage('Error, could not init dglOpenGL.pas');
    Halt;
  End;
Im OnPaint Event kannst du rendern.

Mittels OpenGLControl1.doOnPaint; startest du das Rendern neu.

So viel fürs erste.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat