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

Aktuelle Zeit: Do Jul 17, 2025 16:49

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Mär 15, 2006 19:36 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jan 24, 2006 16:26
Beiträge: 25
hi,

ich habe folgendes Problem: Ich habe ein Spiel mit OpneGl und in 2D programmiert wo ein Kreis(Ball) in einem Formular rumfliegt und durch 2 Balken gelenkt wird. Die Bewegung des Kreises entsteht dadurch das ich in der Render Prozedur eingetragen habe und die Koordinaten verschiebe...ich habe bemerkt das es bei mir auf ca. 1200 fps läuft und sehr flüssig...da ich mit nen Kumpel daran arbeite hat er das auch und bei ihm ist es voll langsam!? ich wollte mal fragen ob die geschwindigkeit mit der render Procedure zu tuen hat...z.B. wenn ich den Ball langsamer machen will dann schreibe im zum Schluss der render Prozedur mehrmals Swapbuffers; Kann man die Geschwindigkeit auf allen normalen rechner gleich anpassen den eigentlich ist das ja nicht so anpruchsvoll für die Grafikkarte und Prozessor das "kleine" Spiel!?

Code:
  1.  
  2. procedure TForm1.Render;
  3.   var i:integer;
  4. begin
  5.   glViewport(0, 0, Width, Height);
  6.   glMatrixMode(GL_PROJECTION);
  7.   glLoadIdentity;
  8.   glOrtho(0,Width,0,Height, -10,10);
  9.   glMatrixMode(GL_MODELVIEW);
  10.   glLoadIdentity;
  11.  
  12.   glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  13.  
  14.   {---Kugel zeichnen---}
  15.   glBegin(GL_TRIANGLE_FAN);
  16.     for i:=0 to 360 do
  17.       glVertex2f(Sin(2*Pi/360*i)*r+xm,Cos(2*Pi/360*i)*r+ym); //Eine kugel zeichnen
  18.       glcolor3f(1,0.7,0);
  19.   glEnd;
  20.  
  21.   xm:=xm+vx; //Bewegung in die Sache bringen
  22.   ym:=ym+vy;  //vx und vy = 1
  23.  
  24.   SwapBuffers(DC);//um so mehr swapbuffers um so langsamer die bilder (fps)
  25.   SwapBuffers(DC);
  26.   SwapBuffers(DC);
  27.   SwapBuffers(DC);
  28.   SwapBuffers(DC); //is eine Notlösung um das langsamer zu machen :P
  29.   SwapBuffers(DC);
  30. end;
  31.  


mfg und thx für die Hilfe juKx


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 15, 2006 20:08 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
Dein Stichwort heißt Timebased Movement. Dieses Thema wird soweit ich weiß in einem unserer Einsteigertutorials und im Bombermantutorial besprochen. Schau am besten mal dort nach!

_________________
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 15, 2006 20:41 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jan 24, 2006 16:26
Beiträge: 25
hi megellan!!

Ich danke dir, den das ist genau das was ich gemeint habe!! *freu*

Dachte schon das versteht eh keiner, wenn man das liest :P


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 15, 2006 21:52 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Im Wiki könnte unter "Techniken und Algorithmen" sogar Code zu finden sein. Bin mir aber nicht sicher.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 16, 2006 00:47 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Feb 02, 2005 14:22
Beiträge: 81
Auf jeden Fall solltest du nur ein SwapBuffers(DC); benutzen :D

Wenn dein Spielchen bei deinem Kumpel sehr langsam ist, dann kann das zum einen daran liegen, das er einfach einen sehr sehr alten Computer hat, oder er hat einfach nicht die richtigen Grafikkartentreiber installiert.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 16, 2006 03:13 
Offline
DGL Member

Registriert: So Sep 26, 2004 05:57
Beiträge: 190
Wohnort: Linz
Also wenn SwapBuffers wirklich so viel ausmacht dürfte es wohl daran liegen, dass der Software-Modus verwendet wird. Zeig am besten mal dein Pixelformat her.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]