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

Aktuelle Zeit: Di Jul 15, 2025 23:22

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



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Optimierungen und co...
BeitragVerfasst: Mi Jun 23, 2004 21:49 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Ich steht gerade irgendwie auf dem Schlauch:

Wenn ich meine OpenGL-Ausgabe optimieren möchte, dann sollte auf jeden Fall mal das Backface-Culling eingeschaltet werden. Die nächste Stufe der Optimierung wäre dann Triangle-Strips. Nur gibt es da mit dem Culling ein kleines Problem: Bei Triangle-Strips (aber auch bei Quad-Strips) ändert sich die Reihenfolge in welcher die Vertex-Daten verwendet werden von CW auf CCW auf CW auf CCW ...

Sehe ich das richtig, dass bei Strips eben auf das Culling verzichtet werden muss oder gibt es noch eine andere Möglichkeit das ganze unter einen Hut zu bringen? (Wenn man auf die Normalen verzichten will?)

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jun 23, 2004 22:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
also wenn ich mich da jetzt nicht irre, dann ändert sich doch die orientierung ne bei strips, die bleibt doch gleich, oder !?!

falls das falsch ist, dann einfach mich hier mal kurz ignorieren.
Code:
  1.  
  2. 1o-----o3
  3.  |     /  |
  4.  |   /    |
  5.  | /      |
  6. 2o-----o4
  7.  

oglreihenfolge : 1-2-3-4 .... hmmm echt knifflig, aber rein logisch ist das alles die selbe orientierung.

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jun 23, 2004 22:35 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
naja, ich würde sagen
1-2-3 ist in diesem Fall CCW
und
2-3-4 CW

oder nicht?

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 24, 2004 00:26 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Da muss ich Fiji-Fighter recht geben.

Is schon bisl seltsam.... :roll:

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 24, 2004 01:52 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Bei Triangle Strips wird die Reihenfolge der Punkte der Dreiecke immer im Wechsel automatisch vertauscht, weil das ja sonst wie schon gesagt, mit dem Culling nicht funktionieren würde.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 24, 2004 07:47 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Stimmt, funktioniert ja auch nicht :( Wenn ich das Backface-Culling verwende (mit Triangle-Strips), wird das erste Dreieck, welches ich im Uhrzeiger-Sinn erstelle dargestellt. Das 2. Nicht mehr. ODer täusch ich mich da? Ich werd's nochmal ausprobieren...

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 24, 2004 08:31 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ich war mir jetzt auch nicht ganz sicher ob ich das schon mal gemacht hatte oder nicht. Deswegen habe ich das gerade mal ausprobiert. Bei einem Triangle Strip richtet sich das Culling nach dem ersten gezeichneten Dreieck. Sei mal dahingestellt auf welche Art und Weise dies geschieht. Es spielt auch keine Rolle woher der Strip kommt. (ARB_VBO, ATI_VAO, VA, DL, Itterativ)

Allerdings macht es auf meiner Radeon 9500 Pro keinen Geschwindigkeitsunterschied ob Culling oder aus ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 24, 2004 10:03 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Lossy eX hat geschrieben:
Allerdings macht es auf meiner Radeon 9500 Pro keinen Geschwindigkeitsunterschied ob Culling oder aus ist.


Das kommt definitiv auf die Szenenkomplexität an, und besonders bei aufwendigeren Szenen bringt das schon was, erst recht wenn man die Szene per OpenGL-Licht beleuchtet. In BeanMachine bringt Backfaceculling auf meiner R9700 in jeder Szene nen dicken Performanceschub.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 24, 2004 10:19 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Okay. Beleuchtung kann ich nachvollziehen. Das andere glaube ich dir mal. Aber mein Test (eine Fläche mit 768x768x2 Dreiecken) ist auch ein wenig sehr Praxisfern. :roll:


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


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.008s | 14 Queries | GZIP : On ]