Autor Beitrag
Bountyhunter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: So 15.09.02 01:22 
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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: So 15.09.02 10:39 
geh mal auf [url]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.

_________________
Viele Grüße
Jakob
Bountyhunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: 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.

_________________
Viele Grüße
Jakob
Bountyhunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: So 15.09.02 14:33 
hi!
ne, ich meinte bei meinem Quellcode. ich poste mal den code:
ausblenden volle Höhe 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: 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...