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

Aktuelle Zeit: Fr Jul 18, 2025 14:13

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



Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Performance-Optimierung bei SkyBoxen
BeitragVerfasst: Do Nov 03, 2005 00:05 
Offline
DGL Member

Registriert: Mi Nov 02, 2005 23:50
Beiträge: 5
Hi Leute,

ich habe da mal eine Frage zu meiner SkyBox bzw. wie ich sie mit der besten Performance zeichnen kann. Mein alter Rechner wird nämlich ziemlich langsam, wenn ich die Texturen einschalte.
Grundlegend sehe ich folgende 3 Möglichkeiten:

1.
Methode: gesamte SkyBox in eine DisplayList, bei jedem Frame vollständig anzeigen
Vorteil: schnellere Listentechnik
Nachteil: meistens sieht man nur die Hälfte der SkyBox, es ist also eigentlich unsinnig immer die gesamte Liste (SkyBox) zeichnen zu lassen

2.
Methode: genaues ausmessen, was wirklich sichtbar ist und nur das anzeigen
Vorteil: es wird nur das zur Anzeige gebracht, was auch wirklich sichtbar ist
Nachteil: Listentechnik nicht möglich (da sich Sichtbarer bereich immer ändert)

3.
Methode: Mix aus 1. und 2.: Unterteilung der SkyBox in mehrere Einzelflächen (z.B. 4 je Seite, also 24 insgesamt) und dann berechnen welche dieser Flächen sichtbar ist und nur diese Anzeigen
Vorteil: Listentechnik möglich (für jede Fläche eine Liste)
Nachteil: ich weis nicht, ob die Ränder zwischen den Flächen sauber dargestellt werden (bei Variante 1, die ich im Moment implementiert habe, sieht man die Ränder)

Also welche dieser Möglichkeiten bringt am meisten Performance? Oder habt ihr eine bessere Idee?

Danke,
Thomas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 03, 2005 00:58 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Eine Skybox bremst doch gar nicht so doll. Das is ja nur ein Texturierter Würfel. Also maximal 6*2 = 12 Dreiecke. Wenn da deine Graka schlapp macht, is was grob im argen.

Eventuell solltest du mal mit glGetError (siehe Wiki) prüfen ob irgendwlche GLErrors die GL stören.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 03, 2005 07:32 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Oder man nimmt eine Cubemap und zeichnet gar keine Skybox sondern nur die Flächen die als Himmel markiert sind dann mit der Cubemap.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 03, 2005 08:32 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also ich denke mal, wenn du bei einer Skybox alle Flächen außer die untere Zeichnest sollte das schon ausreichen. Alles andere halte ich persönlich für übertrieben.

Interessant wäre mal der Code den du zum Zeichnen verwendest. Ich denke nämlich mal, dass du dabei ein ganz anderes Problem haben wirst. Was aber keine Frage der Technik ist. Dann wäre evtl. noch wichtig was dein alten Rechner eigentlich genau ist. Also Prozessor und wichtiger Grafikkarte? Vor allem teste mal ob der auch ne Hardwarebeschleunigung hat. Achja. Was ich fast vergessen hätte. Von welcher Verlangsamung sprechen wir überhaupt bei deinem alten Rechner? Also in FPS ausgedrückt?

PS: Wenn du mit Skyboxen arbeitest kannst du auf das Löschen das ColorBuffers verzichten, da dieser normal eh vollständig überzeichnet wird. Den Tiefenbuffer musst du aber löschen. Damit kannst du schon mal ein wenig einsparen. Aber versprich dir nicht zu viel davon. Nur ein bisschen. ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 03, 2005 08:38 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
Auf älteren Karten können Skyboxen tatsächlich einen erheblichen Geschwindigkeitsunterschied ausmachen.
Außerdem macht es immer Sinn auf das Löschen des Colorbuffers zu verzichten. Das Leeren dessen macht sowieso keinen Sinn, da die Skybox sowieso den gesamten Bildschirm ausfüllt.

Über das Skalarprodukt kannst du außerdem stets drei Flächen der Skybox ausschließen, wenn dir die Blickrichtung der Kamera bekannt ist.

Vielmehr macht eigentlich kaum Sinn.

_________________
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: Do Nov 03, 2005 10:54 
Offline
DGL Member

Registriert: Mi Nov 02, 2005 23:50
Beiträge: 5
Guten Morgen allerseits, erstmal Danke für die vielen Antworten.

Also an meinen alten PC komme ich im Moment nicht ran (der steht in Frankfurt und ich bin hier in Dresden), aber ein bisschen was kann ich dazu schon sagen:

Prozessor: 450 MHz
Arbeitsspeicher: 128 MB
GraKa: irgendwas altes, ca. von 1998

Ohne Texturen lief das spiel flüssig (ca. 30 FPS), mit Texturen sind das noch etwa 2 FPS. Ich habe inzwischen mal die Texturgröße von 512x512 auf 256x256 runtergesetzt, ich denke mal das wird schon etwas gebracht haben (wie gesagt, ich kann's im Moment nicht genau testen). Mein "moderner" Rechner hier in Dresden schafft durchaus mehrere hundert FPS (da habe ich jetzt extra erstmal eine Bremse eingebaut).

Der gesamte Code kann liegt hier zum Download bereit:
www.inf.tu-dresden.de/~s2530168/Rennspiel/Code.zip

Falls sich jemand das compilierte Programm ansehen möchte:
www.inf.tu-dresden.de/~s2530168/Rennspiel/Programm.zip

Und für die Leute die nix runterladen wollen, hier mal die wichtigsten Codeabschnitte zur SkyBox (Datei UGrafik.pas):

Code:
  1.  
  2. const
  3.   {*
  4.     Gibt die Koordinaten für die 6 Flächen (Vierecke) der SkyBox an.
  5.   }
  6.   SkyBoxKoordinaten : array[1..6] of array[1..4] of TVektor3f =
  7.     ( ( (500, 0, 0), (500, 0, 100), (500, 500, 100), (500, 500, 0) ),  // rechts
  8.       ( (500, 500, 0), (500, 500, 100), (0, 500, 100), (0, 500, 0) ),  // hinten
  9.       ( (500, 500, 100), (500, 0, 100), (0, 0, 100), (0, 500, 100) ),  // oben
  10.       ( (0, 500, 0), (0, 500, 100), (0, 0, 100), (0, 0, 0)         ),  // links
  11.       ( (0, 0, 0), (0, 0, 100), (500, 0, 100), (500, 0, 0)         ),  // vorne
  12.       ( (500, 0, 0), (500, 500, 0), (0, 500, 0), (0, 0, 0)         )); // unten
  13.  


Code:
  1.  
  2. {*
  3.   Lädt eine Textur aus einer Datei
  4.  
  5.   Die in "Dateiname" enthaltene Bitmap-Datei (24 Bit pro Pixel) wird in den
  6.   Speicher geladen und unter dem übergebenen Texturnamen verfügbar gemacht.
  7.  
  8.   @param Dateiname Pfad und Name der Bitmap-Datei
  9.   @param Texturname Name der Textur
  10.   @return True, wenn die Operation fehlerfrei war
  11. }
  12. function TGrafik.LadeTextur(Dateiname: string; Texturname: PGLuint): Boolean;
  13. var
  14.   hBmp: HBitmap;
  15.   BM: Bitmap;
  16. begin
  17.   Result:=False;
  18.   hBmp:=HBitmap(LoadImage(0, PAnsiChar(Dateiname), IMAGE_BITMAP, 0, 0,
  19.                             LR_LOADFROMFILE or LR_CREATEDIBSECTION));
  20.  
  21.   if hBmp<>0 then
  22.   begin
  23.     GetObject(hBmp, SizeOf(BM), @BM);
  24.  
  25.     if BM.bmBitsPixel=24 then
  26.     begin
  27.       glGenTextures(1, PGLuint(Texturname));
  28.       glBindTexture(GL_TEXTURE_2D, Texturname^);
  29.  
  30.       glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
  31.       glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
  32.       glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
  33.       glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
  34.  
  35.       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  36.       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  37.  
  38.       glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
  39.       gluBuild2DMipmaps(GL_TEXTURE_2D, 3, BM.bmWidth, BM.bmHeight, GL_BGR_EXT,
  40.                         GL_UNSIGNED_BYTE, BM.bmBits);
  41.  
  42.       glBindTexture(GL_TEXTURE_2D, 0);
  43.       Result:=True;
  44.     end;
  45.   end;
  46. end;
  47.  


Code:
  1.  
  2. {*
  3.   Erzeugt die DisplayList für die SkyBox (L_SkyBox)
  4.  
  5.   Die Erzeugung der SkyBox ist davon Abhängig, ob Texturen verwendet werden
  6.   sollen oder nicht. Die Koordinaten der SkyBox sind in der Konstanten
  7.   "SkyBoxKoordinaten" abgelegt.
  8.  
  9.   @param BenutzeTexturen Gibt an, Ob Texturen geladen/verwendet werden sollen
  10.   @return True, wenn die Erzeugung erfolgreich war, sonst False
  11. }
  12. function TGrafik.ErzeugeListe_SkyBox(BenutzeTexturen: Boolean): Boolean;
  13.  
  14.   {*
  15.     Erzeugt die DisplayList unter Verwendung von Texturen
  16.   }
  17.   function SkyBox_MitTextur: Boolean;
  18.   var
  19.     ProgVerz: string;
  20.     OK: Boolean;
  21.     i:Byte;
  22.   begin
  23.     OK:=True;
  24.  
  25.     // Texturinitialisierungen
  26.     ProgVerz:=ExtractFilePath(ParamStr(0))+'Texturen\SkyBox';
  27.     for i:=1 to 6 do
  28.     begin
  29.       New(SkyBoxTexturen[i]);
  30.       SkyBoxTexturen[i]^:=0;
  31.       OK:=OK and LadeTextur(ProgVerz+TexDateien[i]+'.bmp', SkyBoxTexturen[i]);
  32.     end;
  33.  
  34.     if OK then
  35.     begin
  36.       glNewList(L_SkyBox, GL_COMPILE);
  37.  
  38.       for i:=1 to 6 do
  39.       begin
  40.         glEnable(GL_TEXTURE_2D);
  41.         glBindTexture(GL_TEXTURE_2D, SkyBoxTexturen[i]^);
  42.         glBegin(GL_QUADS);
  43.           glTexCoord2f(0,0);
  44.           glVertex3fv(@SkyBoxKoordinaten[i, 1]);
  45.           glTexCoord2f(0,1);
  46.           glVertex3fv(@SkyBoxKoordinaten[i, 2]);
  47.           glTexCoord2f(1,1);
  48.           glVertex3fv(@SkyBoxKoordinaten[i, 3]);
  49.           glTexCoord2f(1,0);
  50.           glVertex3fv(@SkyBoxKoordinaten[i, 4]);
  51.         glEnd;
  52.         glDisable(GL_TEXTURE_2D);
  53.       end;
  54.  
  55.       glEndList;
  56.     end;
  57.  
  58.     Result:=OK and (glGetError=NO_ERROR);
  59.   end;
  60.  
  61.   {*
  62.     Erzeugt die DisplayList, wobei keine Texturen verwendet werden
  63.   }
  64.   function SkyBox_OhneTextur: Boolean;
  65.   var i: Byte;
  66.   begin
  67.     glNewList(L_SkyBox, GL_COMPILE);
  68.     glColor3f(0, 1, 1); // Himmel und Umgebung (erste 5 Flächen) in Hellblau
  69.  
  70.     for i:=1 to 6 do
  71.     begin
  72.       glBegin(GL_QUADS);
  73.         if (i=6) then glColor3f(0, 0.8, 0); // letzte Fläche ist Wiese
  74.         glVertex3fv(@SkyBoxKoordinaten[i, 1]);
  75.         glVertex3fv(@SkyBoxKoordinaten[i, 2]);
  76.         glVertex3fv(@SkyBoxKoordinaten[i, 3]);
  77.         glVertex3fv(@SkyBoxKoordinaten[i, 4]);
  78.       glEnd;
  79.     end;
  80.  
  81.     glEndList;
  82.     Result:= (glGetError=NO_ERROR);
  83.   end;
  84.  
  85. begin
  86.   if BenutzeTexturen
  87.     then Result:=SkyBox_MitTextur
  88.     else Result:=SkyBox_OhneTextur;
  89. end;
  90.  


Code:
  1.  
  2. {*
  3.   Zeichnet die SkyBox
  4.  
  5.   @param Info Informationen über die Grafik (hier wichtig: Position des Autos)
  6. }
  7. procedure TGrafik.Zeichne_SkyBox(Info: TGrafikInfo);
  8. begin
  9.   TKamera.KameraAusrichten(FSicht, objSkyBox, Info);
  10.   glMatrixMode(GL_Modelview);
  11.   if not (FSicht=swStreckeGanz) then
  12.   begin
  13.     glPushMatrix;
  14.     with Info.Autos[0] do
  15.       glTranslatef(Mitte[0]-250, Mitte[1]-250, Mitte[2]-50);
  16.     glCallList(L_SkyBox);
  17.     glPopMatrix;
  18.   end else
  19.     glCallList(L_SkyBox);
  20. end;
  21.  


So, das war jetzt allerhand Code. Sorry, falls es an einigen Stellen nicht der beste Code ist, aber das war mein allererster Versuch in OpenGL. Aber ich denke mal die Idee mit dem Skalarprodukt von Magellan ist wirklich so ziemlich die beste.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 03, 2005 12:21 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Okay. Also so spontan kann ich keinen Fehler entdecken. An deiner Stelle würde ich mal Überprüfen ob die andere Karte überhaupt in Hardware läuft. 2 FPS sagen eigentlich aus, dass sie es nicht tut. Sie Läuft im Softwaremodus, wenn der VENDOR Microsoft ist. Das kannst du dir auch mit verschiedenen Programm anzeigen lassen.

http://www.delphi3d.net/hardware/index.php
http://www.realtech-vr.com/glview/

Skyboxen kenne ich eher so, dass diese als erstes gezeichnet werden und dann in etwa in der Größe 10 * 10. Dabei dann das Schreiben des Tiefenbuffers verhindern und Tiefentest aus. Und anschließend dann alles andere Zeichnen. Kann mir aber nicht vorstellen, dass das evtl. Probleme geben würde. Das aber zu testen wäre noch eine Option, wenn deine Karte doch in Hardware laufen sollte.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 03, 2005 15:26 
Offline
DGL Member

Registriert: Mi Nov 02, 2005 23:50
Beiträge: 5
Zitat:
Skyboxen kenne ich eher so, dass diese als erstes gezeichnet werden und dann in etwa in der Größe 10 * 10.

Als erstes gezeichnet wird sie.
Aber in wie fern kann denn die Größe entscheidend sein? Ich dachte immer, dass es egal ist, ob das 10x10 oder 500x500 ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 03, 2005 16:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Die Größe ist für die Performance eigentlich egal. Ich schwanke gerdae noch, ob es einen Unterschied macht, ob man Ganze Zahlen oder Fließkommazahlen verwendet. Das hängt wahrscheinlich vom Gebrauch von glVertex3i oder glVertex3f ab.
Überprüf auf jeden Fall mal, ob das Ganze auf Hard- oder Software läuft und schau auch mal, welche Texturengröße die Grafikkarte unterstützt. Das findest du am besten mit dem Info-Tool von Delphi3D heraus.

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 03, 2005 17:20 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
selbst wenn es einen Unterschied machen sollte, ob man dort Fließkommazahlen oder Ganze Zahlen benutzt (denke eher nicht, da die GPU letztlich ja doch mit Fließkomma rechnet) würde dies bei skyboxen wohl kaum auffallen. selbst in Software ist die Anzahl der Vertices bei diesen ja letztlich vernachlässigbar, insbesondere im Vergleich zu den Füllratenkosten.

Wenn die Graka early Z-out unterstützt könnte ich mir auch vorstellen, dass es teilweise schneller sein könnte die Skybox als letztes mit aktiviertem Tiefentest zu zeichnen, da im Regelfall ja doch ein gewisser Teil von ihnen verdeckt wird und dadurch dann Füllrate eingespart werdne könnte. Dann müsste man aber natürlich bei der skybox soweit aufpassen, dass sie immernoch das gelände nicht schneidet.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 04, 2005 15:48 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Wenn die Skybox um ein 512x512er Heightmap herum ist, dann haste alleine dadurch ne halbe Millionen Dreiecke. Da würde ich mir über die 12 Dreiecke der Skybox und ob ich sie nun als Integer oder Floats reinreiche gar keine Gedanken mehr machen. Das einzige, was da n bisschen bremsen kann, ist die Verwendung von aufwendigen Shadern, weil die Skybox doch sehr viele Pixel trifft (eigentlich alle). Da das aber bei dir nicht der Fall ist schließe ich mich mal Flash an
Zitat:
Wenn da deine Graka schlapp macht, is was grob im argen.


Ansonsten einfach mal das tun, was die anderen gesagt haben: Treiber überprüfen und so. Die Standard-Treiber von Microsoft sind manchmal was komisch. Oder einfach ne bessere Graka verwenden:
Zitat:
GraKa: irgendwas altes, ca. von 1998

1998 war das nicht die Monkey-Island 1 Zeit?

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 04, 2005 16:09 
Offline
DGL Member

Registriert: Mi Nov 02, 2005 23:50
Beiträge: 5
Wenn ich wieder in Frankfurt bin, werde ich mal diese Grafikkarten- und Treibertests durchführen. Aber wie gesagt, im Moment geht's nicht. In eine neue Grafikkarte werde ich da wohl nicht investieren, da ich die meiste Zeit hier in Dresden bin. Ich wollte es nur zu Vorführungszwecken mal in Frankfurt laufen lassen.

Zitat:
1998 war das nicht die Monkey-Island 1 Zeit?

Naja, Monkey-Island 1 ist 1990 herausgekommen und so veraltet ist es bei mir noch nicht. Aber die Richtung stimmt :-)

Nochmals Danke,
Thomas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 04, 2005 20:22 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
War 1998 nicht Half-Life-Zeit? ;)

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: OffTopic: Qualität der Skybox
BeitragVerfasst: Fr Nov 04, 2005 20:53 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 23, 2005 20:31
Beiträge: 212
Wohnort: Sachsen/ Vogtland
Sorry wenn das nicht ganz zum Thema passt, aber im Projekt von ThomasN tritt ein Effekt auf, über den ich gern mehr wüßte. Und zwar geht es um die Kanten der Skybox. Die kann man sehen (Flackern, Treppeneffekte). Woher kommt das und wie bekommt man das weg oder ist das prinzipbedingt? Als Ursache würde ich ja Rechenungenauigkeiten beim Zeichnen der Flächen vermuten. Aber wie bekommt man sie weg?
- Falsche Technik angewandt? (evtl. könnte man ja die Flächen immer ein klein wenig größer als die Würfelflächen machen, dann würde es überlappen. Bei dezenter Anwendung könnte der Effekt verschwinden, oder?)
- entsprechende Hintergrundfarbe wählen um den Fehler zu vertuschen
- Weichzeichnen um den Fehler zu verschmieren.
- oder ist das von der Hardware abhängig.

Grüße,DNA

_________________
Heute code ich, morgen debug ich, und übermorgen caste ich die Königin auf int.
http://www.2ndmoon.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 04, 2005 23:34 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Luke: Ja Half Life war 98 aber ich glaube das ufert ein wenig aus. ;-)

Kanten bei SkyBox: Das Problem welches du beschreibst liegt daran, wie die Texturen auf die Flächen gebracht werden. Also an dem Wrapmode. Wenn du diesen auf GL_CLAMP_TO_EDGE stellst sollte es eigentlich gehen, da er die Texturen so bis genau in die Ecken der Fläche zeichnet und nicht wieder auf der andern Seite der Textur (GL_REPEAT) anfangen würde. Rein Theopraktisch sollte erkennbar sein, dass die kleine andersfarbige Kante sich auch genau so auf der gegenüberliegenden Seite der Flächen befinden müsste. Es ist also eine reine Einstellungssache und nichts wildes. Man muss es nur wissen.

Achja Thomas. Generell noch was zur Skybox, was mir gerade aufgefallen ist. Die Stretched die Texturen sehr merkwürdig. Du solltest für die Skybox einen echten Würfel benutzen. Also 500x500x500. Wenn der nur eine Höhe von 100 hat, dann wirken die Texturen sehr gedrückt. Bei den Wolken und dem Himmel mag es gerade noch so gehen aber solltest du ein anderes Motiv haben wird es sehr deutlich.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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 | 15 Queries | GZIP : On ]