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;