Entwickler-Ecke
Multimedia / Grafik - OpenGL header
Bountyhunter - So 15.09.02 01:22
Titel: OpenGL header
Hallo!
kann mir jemand sagen wo ich getestete, funktionierende OPenGL 1.2 Header herbekomme? und auch gleich wie man die zum laufen bringt.
danke
Bountyhunter
DeCodeGuru - So 15.09.02 10:39
geh mal auf [url]
http://www.derentwickler.de[/url], dann klickste im Menü auf Ausgaben und bei der Ausgabe 05.2002 (also die aktuelle) klickste auf Quellcodes. Dort lädst du dir die Datei von "Licht, Kamera, Action!" runter. Dann öffnest du das Archive und dann haste die OpenGL12.pas.
Die Datei kopierste jetzt in irgendein Verzeichnis, dass sich nicht verändert und den Pfad des Verzeichnisses trägst du in Delphi unter Tool -> Umgebungsoptionen -> Bibliothek -> Bibliothekspfad ein.
So, dann müsste das funktionieren.
Bountyhunter - So 15.09.02 13:57
Titel: Danke, aber....
hallo!
danke für die antwort. ich hab alles gemacht, nur wenn ich jetzt mein openGl progg mit USES OpenGL12 laufen lasse bekomme ich ne fehlermeldung.(access violation adress 000000... oder sowas) muss ich irgentwas ändern bei OpenGL12??(ich benutze VCL)
mfg
Bountyhunter
DeCodeGuru - So 15.09.02 14:02
also, ich habe meine opengl12.pas auf den beschriebenen weg bekommen und habe keinerlei fehler bekommen. Also ich musste nichts an der Unit ändern.
Bountyhunter - So 15.09.02 14:33
hi!
ne, ich meinte bei meinem Quellcode. ich poste mal den code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57:
| var Form1: TForm1; DC: HDC; RC: HGLRC;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); //OpenGL init var pfd: TPixelFormatDescriptor; P: Integer; begin fillchar(pfd, sizeof(pfd),0); DC := getDC(Form1.Handle); pfd.cDepthBits := 32; pfd.cColorBits := 24; pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER; P := ChoosePixelFormat(DC,@pfd); setPixelFormat(DC,P,@pfd); RC := wglCreateContext(DC); wglMakeCurrent(DC,RC); glClearColor(0,0,0,0); Application.OnIdle := Form1.OnIdle; glEnable(GL_DEPTH_TEST); glShadeModel(GL_SMOOTH); glDepthFunc(GL_LEQUAL); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); glEnable(GL_TEXTURE_2D); end;
procedure TForm1.OnIdle (Sender: TObject; var Done: Boolean); //Rendern begin Done := false; glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
SwapBuffers(DC); end;
procedure TForm1.FormDestroy(Sender: TObject); //Speicher entleeren begin wglMakeCurrent(DC,0); wglDeleteContext(RC); releaseDC(0,DC); end;
procedure TForm1.FormResize(Sender: TObject); begin glViewPort(0,0,clientwidth,clientheight); glMatrixMode(GL_PROJECTION); glLoadIdentity; gluPerspective(45,clientwidth/clientheight,0.1,100); glMatrixMode(GL_MODELVIEW); end;
end. |
ich hoffe ihr findet den fehler...
danke
Bountyhunter
Blackbird - Di 17.09.02 21:29
Moin.
Also wie "DeCodeGuru" schon sagte, solltest du dir mal die Codebeispiele ansehen, die in diesem Download zusammen mit der Opengl12.pas mitgeliefert werden (die sind in VCL).
Ich hatte dieses Problem auch, denn man kann OpenGL nicht auf die gleiche Weise initialisieren wie mit der einfachen OpenGL.pas!!!
Die in den Codebeispielen angewendete Form ist meiner Meinung nach (!) die kürzeste und einfachste.
Ich hoffe es hilft dir...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!