Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Jun 17, 2024 05:22

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di Okt 08, 2002 12:03 
hallo,
wir wollen ein spiel machen, bei dem der hauptbereich mit opengl gerendert wird. da es aber bis jetzt bei uns viel langsamer war wenn wir ein panel benutzt haben um darin zu rendern als in ein zur laufzeit erzeugtes hwnd das dann komplett gerendert wurde wollen wir kein panel benutzen. aber wir brauchen eine möglichkeit das interface, das um den hauptbereich herum gelegen ist darzustellen und die events vom interface zu verarbeiten.
wir haben probiert ein testpanel mit tpanel.createparented(h_wnd); (auf ein zur laufzeit erstelltes fenster h_wnd:hwnd) zu erstellen, und dann die größe und platzierung eingestellt, aber es war nicht zu sehen. erst mit panel.paintto(h_dc, x, y) innerhalb der gldraw prozedur konnten wir es anzeigen, aber da hat es stark geflackert.
eine andere idee war es, das interface einfach mit zu rendern, aber dann müsste man ja alle buchstaben auf die textur schreiben und das wäre vermutlich sehr langsam und nicht ganz so einfach. und man bräuchte eine gute möglichkeit die click events zu erfassen.

wie könnte man das interface am besten (mit guten fps!) umsetzen? ist das mit steuerelementen ohne flackern möglich? und wenn ja, wie legt man z.b. die .onclick prozdur für zur laufzeit erzeugte elemente fest?

danke schonmal im vorraus, auch wenn mir nur wer sagt wo ich's nachlesen kann.


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 08, 2002 12:35 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Schau mal auf Jan Horns (R.I.P.) Seite <a href='http://www.sulaco.co.za' target='_blank'>http://www.sulaco.co.za</a> . Dort gibt's ind er OpenGL Sektion eine Bibliothekt namens glWindows (direkter Link : <a href='http://www.sulaco.co.za/opengl2.htm)' target='_blank'>http://www.sulaco.co.za/opengl2.htm)</a>, die sollte das tun was du benötigts.

P.S. : Wenn ich direkt auf ein TPanel rendere, geht bei mir die Geschwindigkeit im Gegensatz zum Vollbild nicht runter, aufgrund der geringeren Zeichenfläche ist es eher das Gegenteil.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 08, 2002 15:42 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Zitat:
R.I.P.

wie lautet R.I.P eigentlich ausgeschríeben?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 08, 2002 15:45 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Rest in Peace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 08, 2002 16:53 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 08, 2002 16:44
Beiträge: 10
Zitat:
Schau mal auf Jan Horns (R.I.P.) Seite <a href='http://www.sulaco.co.za' target='_blank'>http://www.sulaco.co.za</a> . Dort gibt's ind er OpenGL Sektion eine Bibliothekt namens glWindows (direkter Link : <a href='http://www.sulaco.co.za/opengl2.htm)' target='_blank'>http://www.sulaco.co.za/opengl2.htm)</a>, die sollte das tun was du benötigts.

P.S. : Wenn ich direkt auf ein TPanel rendere, geht bei mir die Geschwindigkeit im Gegensatz zum Vollbild nicht runter, aufgrund der geringeren Zeichenfläche ist es eher das Gegenteil.


danke, der link ist ja schon ganz gut :)

Aber könntest du bitte den quellcode für das rendern im Panel posten?
Bei uns waren die fps im panel oder in nem normalen delphi6-form nur so bei 10-20.

Beim DGL Fenster liegen sie bei 1000 :o

Gruß, Veiovis, Mitarbeiter von Cohar :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 08, 2002 17:03 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Hm...ich mach das ja leicht anders als Phobeus und Co.
Ich benutze VCL und die OpenGL12.pas.

Aber trotzdem hier mal ein kleines Beispiel wie ich das ungefähr mache (der Code ist natürlich nicht komplett) :

Code:
  1.  
  2.  
  3. unit Test;
  4.  
  5. ...
  6.  
  7. uses
  8.  
  9.  Windows,
  10.  
  11.  OpenGl12
  12.  
  13. ...
  14.  
  15. var
  16.  
  17.  DC : HDC;
  18.  
  19.  RC : HGLRC;
  20.  
  21. ...
  22.  
  23. procedure TForm1.InitGL;
  24.  
  25. var
  26.  
  27.  DummyPal : HPalette;
  28.  
  29. begin
  30.  
  31. DC := GetDC(Panel1.Handle);
  32.  
  33. RC := CreateRenderingContext(DC, [opDoubleBuffered], ..., DummyPal);
  34.  
  35. end;
  36.  
  37. ...
  38.  
  39. procedure TForm1.DrawScene;
  40.  
  41. begin
  42.  
  43. ActivateRenderingContext(DC, RC);
  44.  
  45. ...
  46.  
  47. SwapBuffers(DC);
  48.  
  49. DeActivateRenderingContext;
  50.  
  51. end;
  52.  
  53. ...
  54.  
  55.  


So, hoffe das hilft.Wenn ich z.B. einen Würfel im Fenster auf einem Panel rotieren lasse, dann bekomme ich auf meiner GF4-Ti4400 und nem Athlon XP1800+ knapp 1500fps :D

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Hab's hinbekommen
BeitragVerfasst: Di Okt 08, 2002 17:58 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 08, 2002 16:44
Beiträge: 10
Anhand einer deiner Quelltexte aus einem deiner Tutorials habe ich es hinbekommen :o
und hab sogar soviele fps wie im "DGL-Fenster" :)
danke ;)
Gruß Veiovis


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 08, 2002 18:07 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Zitat:
GF4-Ti4400 und nem Athlon XP1800+ knapp 1500fps :D

Das stellen wir uns lieber nicht mit Radeon 9700 und P-4 3 GHz vor....


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 36 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.225s | 19 Queries | GZIP : On ]