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

Aktuelle Zeit: Fr Jul 18, 2025 17:00

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



Ein neues Thema erstellen Auf das Thema antworten  [ 17 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 12, 2007 18:23 
Offline
DGL Member

Registriert: Di Jan 24, 2006 18:46
Beiträge: 97
thx, wenigstens ein Randproblem gelst :).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 12, 2007 21:19 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
SunBlack: Ich tue das nur äußerst ungern aber schau dir mal das da genau an. Das einzige was ich mit dem bestehenden Code machen musste ist nur eine simple Umstellung. Und die Faktoren etwas umstellen.

Da ist jetzt kein Rand dabei aber das überlasse ich mal dir.

Code:
  1. // Zeichnen
  2. Test.Bind;
  3. glBegin(GL_QUADS);
  4.   glTexCoord2f(0, 0);  glVertex2i(         0,           0);
  5.   glTexCoord2f(1, 0);  glVertex2i(Test.Width,           0);
  6.   glTexCoord2f(1, 1);  glVertex2i(Test.Width, Test.Height);
  7.   glTexCoord2f(0, 1);  glVertex2i(         0, Test.Height);
  8. glEnd;
  9. Test.Unbind;
  10.  
  11.  
  12.  
  13. // Resize
  14. var
  15.   IWidth, IHeight: Integer;
  16.   CWidth, CHeight: Integer;
  17.   FaqF, FaqI: Single;
  18.  
  19.   Top, Left, Right, Bottom: Integer;
  20. begin
  21.   ...
  22.  
  23.   IWidth := Test.Width;
  24.   IHeight := Test.Height;
  25.   CWidth := Width;
  26.   CHeight := Height;
  27.  
  28.   FaqF := CWidth / CHeight;
  29.   FaqI := Test.Width / Test.Height;
  30.  
  31.   if FaqI > FaqF then begin
  32.     Bottom := Round(CHeight * IWidth / CWidth);
  33.     Right := IWidth;
  34.     Left := 0;
  35.     Top := (IHeight div 2) - (Bottom div 2);
  36.     Bottom := Top + Bottom;
  37.   end else begin
  38.     Bottom := IHeight;
  39.     Right := Round(CWidth * IHeight / CHeight);
  40.     Left := (IWidth div 2) - (Right div 2);
  41.     Top := 0;
  42.     Right := Left + Right;
  43.   end;
  44.  
  45.   glOrtho(Left, Right, Bottom, Top, 1, 100.0);


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 17 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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.007s | 14 Queries | GZIP : On ]