myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Delphi - OpenGL will mich ärgern

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 03.04.12, 14:39   #1
burnedhead
Wirklich kein Anfänger
 
Benutzerbild von burnedhead
 
Registriert seit: Mar 2011
Beiträge: 207
Bedankt: 389
burnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkte
Standard Delphi - OpenGL will mich ärgern

Also, ich wollte mal mit OpenGL etwas anfangen und komm schon am Anfang nicht weiter, denn ich scheitere schon bei der Initialisierung.
Folgendes Tutorial habe ich mir angeschaut und den entsprechenden Header benutzt:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

Nur sehe ich nichts als Fensterfarbe (sollte mal schwarz werden)

Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
  DC := GetDC(Handle);
  RC:=CreateRenderingContext(DC,          //Device Contest
                             [opDoubleBuffered], //Optionen
                             32,          //ColorBits
                             24,          //ZBits
                             0,           //StencilBits
                             0,           //AccumBits
                             0,           //AuxBuffers
                             0);          //Layer
  ActivateRenderingContext(DC, RC);

  glMatrixMode(GL_PROJECTION);
     glLoadIdentity;
     gluPerspective(60, ClientWidth/ClientHeight, 1, 128);
     glMatrixMode(GL_MODELVIEW);
   end;

  glTranslatef(0, 0,-6);                  //Bewegt "Zeichenstift" -> Hier: Nach hinten (Z)
  glTranslatef(-1.5,0,0);                 //Hier: -Y


SwapBuffers(DC);


procedure TForm1.FormResize(Sender: TObject);
begin
  glViewport(0, 0, ClientWidth, ClientHeight);  //Definiert die Zeichenoberfläche in einem Kooridnatensystem -> Hier: nach Fenster
end;
PS: Hat sich erledigt. Durch Probiererei und einem Faceplam der mir selbst galt funktioniert es jetzt...

Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
  DC := GetDC(Handle);
  RC:=CreateRenderingContext(DC,          //Device Contest
                             [opDoubleBuffered], //Optionen
                             32,          //ColorBits
                             24,          //ZBits
                             0,           //StencilBits
                             0,           //AccumBits
                             0,           //AuxBuffers
                             0);          //Layer
  ActivateRenderingContext(DC, RC);
  glEnable(GL_DEPTH_TEST);                
  glDepthFunc(GL_LESS);                   
  glClearColor(0,0,0,0);                       //Hintegrund R,G,B
  Application.OnIdle := ApplicationEventsIdle;
end;

procedure TForm1.ApplicationEventsIdle(Sender: TObject; var Done: Boolean);
begin
glMatrixMode(GL_PROJECTION);
glLoadIdentity;
glViewPort(0, 0, ClientWidth, ClientHeight);
gluPerspective(60, ClientWidth/ClientHeight, 1, 128);

glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);


SwapBuffers(Canvas.Handle);
Done := False;

end;

procedure TForm1.FormResize(Sender: TObject);
begin
  glViewport(0, 0, ClientWidth, ClientHeight);  //Definiert die Zeichenoberfläche in einem Kooridnatensystem -> Hier: nach Fenster
end;
__________________
burnedhead ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 Uhr.


Sitemap

().