PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Flimmern bei zu hoher Polygonzahl. Lösungsvorschläge?


dargo
2008-03-15, 14:20:29
Ich lese hier vermehrt davon, dass sobald mehr Polygone als der Bildschirm an Pixeln hergibt berechnet werden müssen die Grafik erheblich zum flimmern neigt. Was ist eigendlich die Lösung dafür? Oder was erwartet uns in Zukunft um diesem entgegenzuwirken?

Ich nehme mal hier Crysis mit der CryEngine2 als Beispiel. Im Vergleich zu Farcry mit der CryEngine1 ist der Polygoncount um den Faktor ~10-15 angestiegen. Man sieht nicht selten mehr als 1,5 Mio. Polygone je Szene. Das ist für die "standard" Auflösung von 1280x1024 heute bereits zuviel. Wie sieht das dann erst aus wenn Crytek einen ähnlichen Sprung mit einer eventuell zukünftigen CryEngine3 macht? 15 Mio. Polygone je Szene? X-D

Das einzige was mir dazu einfällt ist, wir brauchen zukünftig Bildschirme mit erheblich größeren Auflösungen. Also praktisch ein 22" WS Schirm mit zb. 5040x3150 Pixeln. Also praktisch 1680x1050 mit 3x3SSAA. Wobei man damit wieder mit knapp 16 Mio. Polygonen die "Grenze" überschreitet.

Vorteil:
Man sieht kaum Aliasing mehr. Selbst Shaderaliasing dürfte somit der Vergangenheit angehören.

Nachteil:
Brachiale Grafikpower ist nötig.

Wie seht ihr das?

_DrillSarge]I[
2008-03-15, 14:21:40
flimmern soll weg -> LOD ;)

dargo
2008-03-15, 14:26:31
LOD bedeutet automatisch Reduzierung der Details. Das sehe ich nicht als Lösung an im Hinblick auf fotorealistische Grafik.

_DrillSarge]I[
2008-03-15, 14:28:59
LOD bedeutet automatisch Reduzierung der Details. Das sehe ich nicht als Lösung an im Hinblick auf fotorealistische Grafik.
wieso? aus 100m entfernung fällt es überhaupt nicht mehr auf, ob eine kugel aus 20k oder aus 500 polygonen besteht.
ohne lod würde vieles im argen liegen (textur-lod, sichtweite etc.). soviel rechenleistung könnte man in absehbarer zeit nie zur verfügung stellen, um annähernd fotorealistische grafik hinzubekommen

Gast
2008-03-15, 14:30:18
Gutes Beispiel:
http://graphics.cs.uni-sb.de/Publications/2005/Ecosystems_EGWNP05.avi

Ansonsten helfen da verschiedene Formen von LOD und IBR. Allein mit AA kriegt man sowas nicht in den Griff.

dargo
2008-03-15, 14:39:27
I[;6356506']wieso? aus 100m entfernung fällt es überhaupt nicht mehr auf, ob eine kugel aus 20k oder aus 500 polygonen besteht.
ohne lod würde vieles im argen liegen (textur-lod, sichtweite etc.). soviel rechenleistung könnte man in absehbarer zeit nie zur verfügung stellen, um annähernd fotorealistische grafik hinzubekommen
Das mag schon sein. LOD ist aber in meinen Augen keine dauerhafte Lösung. Gehen wir mal 5-10 Jahre nach vorne und betrachten dabei einen ähnlichen Anstieg an Polygonen wie vor 5-10 Jahren. Wenn heute ein bestimmtes Objekt aus sagen wir mal 30k Polygonen besteht wird dieser in dem genannten Zeitraum um ein vielfaches steigen. Bei sehr vielen Objekten summiert sich dann Einiges. Wie willst du dann das Flimmern verhindern? Mit LOD lassen sich nur die Polygone von weit entfernten Objekten "sparen".

Gast
2008-03-15, 14:39:46
Ich lese hier vermehrt davon, dass sobald mehr Polygone als der Bildschirm an Pixeln hergibt berechnet werden müssen die Grafik erheblich zum flimmern neigt. Was ist eigendlich die Lösung dafür? Oder was erwartet uns in Zukunft um diesem entgegenzuwirken?

polygonzahlen werden in zukunft kaum bis garnicht steigen um diesem problem entgegenzuwirken.

die 2Mio. polygone/frame (genauer gesagt sind es vertices/frame und nicht polygone) hören sich erstmal für viel zu viel an, nur handelt es sich dabei um alle polygone die an die GPU geschickt werden und nicht um die sichtbaren polygone.

gerade in crysis außenlevels gibt es durch die vegetation jede menge "versteckte" und verdeckte polygone die nicht als solches sichtbar sind. auch diverse transparenz/rauch/nebeleffekte verschlingen je nach rendertechnik einiges an polygonen ohne dass diese als solche sichtbar sind.

die anzahl der sichtbaren polygone steigt schon lange kaum an und wird auch in zukunft kaum steigen.

_DrillSarge]I[
2008-03-15, 14:44:09
polygonzahlen werden in zukunft kaum bis garnicht steigen um diesem problem entgegenzuwirken.
dafür halst man sich ein anderes problem auf, nämlich normal-mapping. wie man oft beobachten konnte (ue3-titel), ist sehr feines normalmapping ein übler flimmerer und dagegen hilft dann fast nix mehr ausser (wenn überhaupt) ssaa.
€: oder ein extrem agressives texuren-lod, was dann aber sehr auffällt

dargo
2008-03-15, 14:46:59
polygonzahlen werden in zukunft kaum bis garnicht steigen um diesem problem entgegenzuwirken.

Wie bitte? :) Wo wäre da der Fortschritt?

_DrillSarge]I[
2008-03-15, 15:01:02
Wie bitte? :) Wo wäre da der Fortschritt?
hohe polygonzahlen bedeuten ja nicht nur mehr geometrie. je mehr polygone, desto (um ein vielfaches) aufwändiger wird die dazugehörige licht- bzw. schattenberechnung. dazu hat man bestimmt dann noch unendlich ;) overdraw (->hoher culling aufwand), was bei vielen first-z renderen einem todesstoß gleichkommt. u.v.m.

Gast
2008-03-15, 15:01:59
I[;6356558']dafür halst man sich ein anderes problem auf, nämlich normal-mapping. wie man oft beobachten konnte (ue3-titel), ist sehr feines normalmapping ein übler flimmerer und dagegen hilft dann fast nix mehr ausser (wenn überhaupt) ssaa.

schlecht eingesetzte normalmaps können natürlich schlimm sein (wobei die normalmaps alleine meistens nicht viel schaden anrichten, das flimmern kommt großteils von den specularmaps).
wäre das ganze ausmodelliert wäre es aber um ein vielfaches schlimmer, die texturen (und auch normalmaps sind texturen) werden nämlich durch den texturfilter geglättet (wobei dieser natürlich auch irgendwann kapituliert), für die geometrie hast du aber gerade mal 4x oder 8xMSAA zur verfügung.

damit wäre die ausmodellierte geometrie nicht nur um ein vielfaches langsamer (kleine polygone sind aufgrund des quadbasierten renderings extrem ineffizient) sondern auch wesentlich flimmeranfälliger

Gast
2008-03-15, 15:08:26
Wie bitte? :) Wo wäre da der Fortschritt?


Klasse statt Masse ;)

viel ist nicht immer gut nur weil irgendwelche zahlen groß sind muss es noch lange nicht gut aussehen, und gerade auf polygone trifft das zu.

man braucht nicht wesentlich mehr polygone als wir bereits haben um eine gute grafik zu haben, die vorhandenen polygone müssten vielleicht noch etwas effizienter eingesetzt werden (mehr polygone für nahe objekte, weniger für entfernte)

dargo
2008-03-15, 15:16:26
Klasse statt Masse ;)

viel ist nicht immer gut nur weil irgendwelche zahlen groß sind muss es noch lange nicht gut aussehen, und gerade auf polygone trifft das zu.

Ich habe nirgendwo erwähnt, dass Polygone alles sind. ;)
Siehe CryEngine1 vs. CryEngine2. Für den enormen Unterschied sind nicht nur die Polygone verantwortlich. Ich kann mir aber kaum vorstellen, dass wir in 5 Jahren noch weiter mit ~2 Mio. Polygonen je Szene unterwegs sind.

Gast
2008-03-15, 15:18:30
Wie bitte? :) Wo wäre da der Fortschritt?
Die Anzahl der sichtbaren Polygone wird stark zunehmen. Polygone können dort positioniert wo sie Sinn machen. Silhouetten brauchen da eine extreme Aufbesserung.

http://img181.imageshack.us/img181/3684/silteswl0.png (http://imageshack.us)

Ich sehr auch kein Problem die Polygone weit entfernter Objekte höher zu halten als momentan üblich. Per IBR kann man selektiv mit Supersampling rangehen und das Ergebnis für ein paar Frames nutzen.

Auf lange Frist muss die Auflösung erhöht werden um mehr Informationen unterbringen zu können. Aber die steigt ja eh langsam aber stetig.

Gast
2008-03-15, 15:31:41
Siehe CryEngine1 vs. CryEngine2. Für den enormen Unterschied sind nicht nur die Polygone verantwortlich.

genauer gesagt hat sich an der polygonanzahl garnicht so viel getan, auch in farcry gibt es teilweise schon 1,5Mio/frame, bei crysis geht es bis ~2Mio rauf.

dargo
2008-03-15, 15:42:01
genauer gesagt hat sich an der polygonanzahl garnicht so viel getan, auch in farcry gibt es teilweise schon 1,5Mio/frame, bei crysis geht es bis ~2Mio rauf.
Hö? Ich spreche von der standard Version bei beiden Games. In Farcry hatte ich wenn mich nicht alles täuscht max. 140k Polygone je Frame gesehen. Bei Crysis glaube ich knapp über 2 Mio. Wobei ich auch Maps für Crysis kenne wo durchaus einiges mehr möglich ist.

Hier mal zwei Beispiele mit ~3 Mio. Polys.

http://img148.imageshack.us/img148/3199/crysis64200803151603117fe4.jpghttp://img337.imageshack.us/img337/5971/crysis64200803151606061wb4.jpg

Gast
2008-03-15, 16:06:52
genauer gesagt hat sich an der polygonanzahl garnicht so viel getan, auch in farcry gibt es teilweise schon 1,5Mio/frame, bei crysis geht es bis ~2Mio rauf.
In FarCry waren es auf damaligen Highend eher bis zu 1,5 Mio/s gegen Crysis mit bis zu 2 Mio/frame. Irgendwo gabs zu Farcry ein Thread von Tombman, wo er sich über die 1 Mio Polys pro Sekunde gefreut hat.

Der Zukunft gehört der dynamischen Tesselierung. Das bringt einiges für die Optik, Performance und Speicherverbrauch.

dargo
2008-03-15, 16:18:05
In FarCry waren es auf damaligen Highend eher bis zu 1,5 Mio/s gegen Crysis mit bis zu 2 Mio/frame. Irgendwo gabs zu Farcry ein Thread von Tombman, wo er sich über die 1 Mio Polys pro Sekunde gefreut hat.

Hast du zufällig den/einen Link?

_DrillSarge]I[
2008-03-15, 16:20:18
Hier mal zwei Beispiele mit ~3 Mio. Polys.

http://img148.imageshack.us/img148/3199/crysis64200803151603117fe4.jpghttp://img337.imageshack.us/img337/5971/crysis64200803151606061wb4.jpg

das crysis deutlich mehr polygone zu bieten hat als far cry, dürfte unstrittig sein.
an dem shot sieht man schön, dass man von den vielen polygonen nur relativ wenig sieht. die pflanzen sind alpha-zeugs (größtenteils) und ein paar bäume.
durch den hohen polycount hat man natürlich auch ein besonders "echt" wirkendes spielerlebnis (keine 5-eckigen köpfe etc. ;)).

Gast
2008-03-15, 16:27:14
Hast du zufällig den/einen Link?
http://www.forum-3dcenter.org/vbulletin/showthread.php?t=134805&highlight=farcry

Wie die Erinnerung doch trügt... :(

Was geben die Polygonzahlen bei Farcry/Crysis eigentlich an? Nur die Polygone für den ersten Z-Pass (= "sichtbare" Polygone)? Oder werden da alle aus jedem Pass und für Shadowmaps, Occlusion-Querries etc. mitgezählt?
Im zweiten Fall wären die Polygonzahlen auch nicht mehr sooo hoch.

deekey777
2008-03-15, 19:52:12
Es wird alles gezählt, zB wenn Schatten deaktiviert werden, sinkt auch die Zahl der Tris (und DIPs).
In Far Cry gab's in Pier so schöne Ausblicke mit über 1 Mio Tris.

Gast
2008-03-15, 20:29:30
Es wird alles gezählt, zB wenn Schatten deaktiviert werden, sinkt auch die Zahl der Tris (und DIPs).
Dann sind die Zahlen auch nicht viel wert. Von 3 Millionen Polygonen bleibt nach Reflektion, mehreren Passes (Z-Pass, normaler Pass, ShadowPass, Atmospheric Pass und weiteren) und den Shadowmaps vielleicht noch ein paar hunderttausend übrig...

Nightspider
2008-03-15, 20:39:51
In Zukunft wird es sicherlich noch größere Unterschiede bei den Geometriemodi Low-High geben...

Die Leute mit viel Geld und potenter Harware ([Tri-]SLI;[Quad-]Crossfire) können dann die höchsten Einstellungen fahren...

Alleine wenn man sich ausmalt, das der GT200 / R700 dann vielleicht die 3fache Leistung einer 8800 Ultra bieten und vielleicht mit bis zu 2 GB pro Karte bestückt werden, dürfte sich der PolyCount relativieren...

Es geht halt weiter wie bisher...bisher ist auch noch kein PC explodiert, nur weil wir heute 3-5 mal soviele Polygone haben, wie vor 3-5 Jahren ;)

betasilie
2008-03-15, 20:47:34
Ich lese hier vermehrt davon, dass sobald mehr Polygone als der Bildschirm an Pixeln hergibt berechnet werden müssen die Grafik erheblich zum flimmern neigt. Was ist eigendlich die Lösung dafür? Oder was erwartet uns in Zukunft um diesem entgegenzuwirken?

Ich nehme mal hier Crysis mit der CryEngine2 als Beispiel. Im Vergleich zu Farcry mit der CryEngine1 ist der Polygoncount um den Faktor ~10-15 angestiegen. Man sieht nicht selten mehr als 1,5 Mio. Polygone je Szene. Das ist für die "standard" Auflösung von 1280x1024 heute bereits zuviel. Wie sieht das dann erst aus wenn Crytek einen ähnlichen Sprung mit einer eventuell zukünftigen CryEngine3 macht? 15 Mio. Polygone je Szene? X-D

Das einzige was mir dazu einfällt ist, wir brauchen zukünftig Bildschirme mit erheblich größeren Auflösungen. Also praktisch ein 22" WS Schirm mit zb. 5040x3150 Pixeln. Also praktisch 1680x1050 mit 3x3SSAA. Wobei man damit wieder mit knapp 16 Mio. Polygonen die "Grenze" überschreitet.

Vorteil:
Man sieht kaum Aliasing mehr. Selbst Shaderaliasing dürfte somit der Vergangenheit angehören.

Nachteil:
Brachiale Grafikpower ist nötig.

Wie seht ihr das?
Schonmal was von Antialiasing gehört und interner Auflösung? :D Ja, wieso dann die Frage?

LOD bedeutet automatisch Reduzierung der Details. Das sehe ich nicht als Lösung an im Hinblick auf fotorealistische Grafik.
Was haben Polygone mit fotorealismus zu tun, wenn man nur soviel Polygone benutzt, wie notwendig sind. Was hast Du davon, wenn ein Baum in 200 Metern Entfernung aus 500k Polygonen besteht? :|

Polygone werden soviele eingesetzt wie notwendig. Ob nun via LOD in weiter Entfernung der geometrische Detailgrad runtergerechnet wird, oder ob man der Silhouette mit dem entsprechenden Algo die Notwendigen Rundungen gibt, ist eigentlich Latte.

Gast
2008-03-15, 21:16:49
In Zukunft wird es sicherlich noch größere Unterschiede bei den Geometriemodi Low-High geben...

Die Leute mit viel Geld und potenter Harware ([Tri-]SLI;[Quad-]Crossfire) können dann die höchsten Einstellungen fahren...

Alleine wenn man sich ausmalt, das der GT200 / R700 dann vielleicht die 3fache Leistung einer 8800 Ultra bieten und vielleicht mit bis zu 2 GB pro Karte bestückt werden, dürfte sich der PolyCount relativieren...

Es geht halt weiter wie bisher...bisher ist auch noch kein PC explodiert, nur weil wir heute 3-5 mal soviele Polygone haben, wie vor 3-5 Jahren ;)
Aber nur wenn es leicht und ohne Zusatzkosten zu bewerkstelligen ist. Ansonsten wird da keine Extrawurst gebraten werden. Dann wird weder besondere Rücksicht auf Low End noch auf super duper Hardware genommen, sondern sich nach der Mitte gerichtet. Größer als heute wird der Spagat bei den Einstellungen wohl nicht werden. Vor allem Konsolenports bieten heute schon recht wenig Einstellungen und die werden auch in Zukunft das Hauptrepertoire stellen.
Da kann man überspitzt gesagt froh sein, wenn man die Auflösung ändern darf. Solche Einstellungswunder wie z.B. Crysis inkl. vielen ini tweaks oder auch Gothic 3 mit ini tweaks werden imho auch in Zukunft die Ausnahme bleiben.

dargo
2008-03-16, 09:56:24
Was haben Polygone mit fotorealismus zu tun, wenn man nur soviel Polygone benutzt, wie notwendig sind.

Wie meinst du das? Ich hoffe nicht wie ich es jetzt verstanden habe, dass heutige Spiele genug Polygone haben. :ulol:


Was hast Du davon, wenn ein Baum in 200 Metern Entfernung aus 500k Polygonen besteht? :|

Wer spricht überhaupt nur von sehr weit entfernten Objekten?

del_4901
2008-03-16, 10:07:40
Wer LOD verteufelt hat keine Ahnung! .

Und ums nochmal deutlich zu machen Photorealismus ist ohne LOD NICHT möglich. Quantisierung etc...

dargo
2008-03-16, 10:19:06
Wer LOD verteufelt hat keine Ahnung! .

Wie kommst du auf die Idee, dass jemand (ich?) LOD schlecht redet?

robbitop
2008-03-16, 10:31:31
I[;6356602']overdraw (->hoher culling aufwand), was bei vielen first-z renderen einem todesstoß gleichkommt. u.v.m.
Gerade hoher Overdraw läßt einen First-Z pass lohnen. Denn man verwirft Pixel enorm viel schneller, als man sie rendert.

Ich denke schon, dass die Polygonzahl noch steigen wird. Allerdings nimmt der Trend ab und man versucht viel mit Parallax Mapping und ähnlichen Techniken abzurunden.

@topic
Ein vernünftiges LOD ist sozusagen die Lösung schlechthin. Was nutzt einem eine hohe Polygonzahl von Gegenständen die so weit entfernt sind, dass sie nur noch wenige Pixel auf dem Screenspace einnehmen? Nix außer Flimmern.
Der schlechte Ruf von LOD-Systemen bei der "Masse" kommt lediglich von suboptimalen Umsetzungen. Mal ist das LOD zu "scharf" eingestellt und man sieht bei Gegenständen in moderater Entfernung noch ein Detail Level, dass für einen deutliche höhere Z-Werte passend wäre. Oder man sieht das Umschalten (bei Bewegung des Spielers) des LODs von Gegenständen. "Plopp" und schon tauchen sichtbar mehr Details auf dem Berg auf und ein paar Bäume dazu. :|

Ein gut umgesetztes LOD dürfte nicht sooo geizig mit den Details sein und es müßte einfach viel viel mehr "Zustände" geben so dass man ein quasi-stetiges Umschalten von Detailleveln der Umgebung bei Bewegung des Spielers hätte. So wären die Sprünge viel viel kleiner und somit nicht mehr mitzubekommen.
Dazu überblendet oder blurt man das Ganze noch ein bisschen.

Gast
2008-03-16, 11:47:50
Wie meinst du das? Ich hoffe nicht wie ich es jetzt verstanden habe, dass heutige Spiele genug Polygone haben. :ulol:



pro frame auf jeden fall, da haben heutige spiele schon weit mehr als genug polygone. die verteilung im frame ist dagegen nicht unbedingt optimal.

was wir brauchen sind deutlich bessere geometrie-LOD-systeme und nicht massenhaft polygone. im gegensatz zu texturen sind LOD-systeme bei der geometrie nämlich verdammt kompliziert.

GeneralHanno
2008-03-16, 12:30:32
ich hab mal irgendwo eine grafik gesehen wo (seit 10 jahren oder so) die anzahl der poligone pro frame und irgend etwas anderes (ich weis nicht mehr, ob es auflösung/textursamples,shader ....) waren. auf jeden fall hat man gesehen, dass relativ gesehen, die poligonanzahl kaum gestiegen ist ...

zudem muss man langfristig 2 sachen bedenken:
1. tesselation (dx11)
2. ray-tracing

_DrillSarge]I[
2008-03-16, 12:35:05
die polygonzahlen sind schon deutlich gestiegen. um 2000 rum hatte man für ne spielfigur im shooter vielleicht 800-1200 polygone. schau dir auch mal die figuren in crysis, ut3 etc. an.

Gerade hoher Overdraw läßt einen First-Z pass lohnen. Denn man verwirft Pixel enorm viel schneller, als man sie rendert.

bei sehr detailreichen (will sagen alles sehr fein mit polygonen ausmodelliert), wird solch ein z-test seeeehr teuer.

zudem muss man langfristig 2 sachen bedenken:
1. tesselation (dx11)
2. ray-tracing

zu 1.: es gab ja schon oft versuche, sowas in die "gpu zu verlagern". siehe auch truform oder displacement-mapping. hat eigentlich niemand genutzt, da es mit vielen (spiel-/grafikdesigntechnischen) problemen verbunden ist

zu 2.: momentan ist rt ja noch sehr am anfang. rastergrafik dagegen sehr weit fortgeschritten und erprobt. vielleicht in 10 jahren ;)

deekey777
2008-03-16, 12:37:30
Wer LOD verteufelt hat keine Ahnung! .

Und ums nochmal deutlich zu machen Photorealismus ist ohne LOD NICHT möglich. Quantisierung etc...
Über LOD finde ich diese Diskussion sehr interessant: http://forum.beyond3d.com/showthread.php?t=47234

Das Interview verdient seinen eigenen Thread. X-D

Coda
2008-03-16, 14:53:33
Wie kommst du auf die Idee, dass jemand (ich?) LOD schlecht redet?

Ganz einfach:
LOD bedeutet automatisch Reduzierung der Details. Das sehe ich nicht als Lösung an im Hinblick auf fotorealistische Grafik.

Und AlphaTier hat recht. Man braucht LOD.

betasilie
2008-03-16, 17:52:49
Wie meinst du das? Ich hoffe nicht wie ich es jetzt verstanden habe, dass heutige Spiele genug Polygone haben. :ulol:
Nein, aber es geht darum, wie die Polygone über die Szene verteilt sind.

Wer spricht überhaupt nur von sehr weit entfernten Objekten?
Weit entfernte, ggf. sich überschneidende Objekte sind primär fürs Aliasing verantwortlich.

Wie kommst du auf die Idee, dass jemand (ich?) LOD schlecht redet?
Deswegen?
Das mag schon sein. LOD ist aber in meinen Augen keine dauerhafte Lösung.
Wer fordert, dass der Vordergrund, ggf. sogar im closeup, genau den gleichen geometrischen Detailgrad hat, wie der entfernte Hintergrund, dem fehlen die einfachsten Grundlagen.

robbitop
2008-03-16, 22:52:36
I[;6358416']
bei sehr detailreichen (will sagen alles sehr fein mit polygonen ausmodelliert), wird solch ein z-test seeeehr teuer.
Ach und das zu rendern (Z und Color) nicht? ;)
Ich wüßte nicht, warum das nun teurer werden sollte. Die Anzahl der Z-Tests bleiben ja gleich (es sei denn es gibt mehr Gegenstände/Ebenen in Z-Richtung). So kann man sich dann ja viele Polygone beim Rendern sparen. Transformiert werden müßten sie allerdings sowieso.

Monger
2008-03-16, 23:58:12
Wie meinst du das? Ich hoffe nicht wie ich es jetzt verstanden habe, dass heutige Spiele genug Polygone haben. :ulol:

Wahrscheinlich sind wir wirklich an der Grenze. Mehr Polygone auf dem Schirm als Pixel machen keinen Sinn. Komplexere Geometrie wird man mittelfristig wohl eher mit Normal Mapping erreichen - das ist aufgrund der pixelgenauen Berechnung ohnehin unproblematischer als das Rumgerechne mit Triangulation.

Und irgendwie scheinst du mir LOD nicht verstanden zu haben. Mal abstrakt gesprochen: die Bildqualität wird im Endeffekt durch die Auflösung limitiert. Egal was für eine Technik dahintersteckt - das Bild kann nicht detaillierter sein, als das Ausgabegerät zulässt. Rein physisch gelangst du damit automatisch an einen Punkt, wo Details sich nicht mehr darstellen lassen. Ein gutes LOD reduziert genau die Informationsmenge die du ohnehin nicht sehen kannst.

Mr. Lolman
2008-03-17, 08:46:21
Ich lese hier vermehrt davon, dass sobald mehr Polygone als der Bildschirm an Pixeln hergibt berechnet werden müssen die Grafik erheblich zum flimmern neigt. Was ist eigendlich die Lösung dafür? Oder was erwartet uns in Zukunft um diesem entgegenzuwirken?

Das sind alles theoretische Überlegungen. Ich kenn kein Spiel, wo man trotz LOD-Tweaks, das Polygonflimmern durch ordentlich AA (6-8xMSAA) nicht in den Griff bekommen würde. Bevor man da durch Polygonflimmern irritiert würde, stört man sich schon längst am Alphatest- bzw. Shaderflimmern.

Aktuell haben Objektlodsysteme hauptsächlich den Sinn, Rechenleistung zu sparen.

Und irgendwie scheinst du mir LOD nicht verstanden zu haben. Mal abstrakt gesprochen: die Bildqualität wird im Endeffekt durch die Auflösung limitiert. Egal was für eine Technik dahintersteckt - das Bild kann nicht detaillierter sein, als das Ausgabegerät zulässt. Rein physisch gelangst du damit automatisch an einen Punkt, wo Details sich nicht mehr darstellen lassen.

Das stimmt. Allerdings wird der Punkt dank hohen AA-Modi erst relativ spät erreicht.

Exxtreme
2008-03-17, 08:47:43
Supersampling. =)

Aber nein, auf mich hört mal wieder keiner. :(

del_4901
2008-03-17, 08:57:09
"they may be able to soak the significant software architecture deficit by clubbing it with processing power"

(SS)AA hilft da auch nicht. Fakt ist, dass ein Polygon niemals kleiner werden darf als ein Pixel. (besser sind eigendlich noch 2 Pixel) SSAA verschiebt das Problem nur etwas nach hinten.

LOD ist das einzige was effizent und effektiv das Problem aus der Welt schafft!

del_4901
2008-03-17, 08:58:19
Aktuell haben Objektlodsysteme hauptsächlich den Sinn, Rechenleistung zu sparen.

Das halte ich ja für ein Gerücht. Weißt die eigendlich wie aufwendig Echtzeit Meshrefinment/Geomorphing ist?


Das stimmt. Allerdings wird der Punkt dank hohen AA-Modi erst relativ spät erreicht.

Na so ein Quark, überall wo man weite Flächen überschauen kann hilft auch 256xAA nicht.

Mr. Lolman
2008-03-17, 09:06:17
"they may be able to soak the significant software architecture deficit by clubbing it with processing power"

(SS)AA hilft da auch nicht. Fakt ist, dass ein Polygon niemals kleiner werden darf als ein Pixel. (besser sind eigendlich noch 2 Pixel) SSAA verschiebt das Problem nur etwas nach hinten.

Doch:http://www.forum-3dcenter.org/vbulletin/showthread.php?p=4959774#post4959774

Ohne AA beträgt im Extremfall die Varianz eines Pixels 100% (Je nach dem ob das Polygon gesampelt wird, oder nicht). Mit 8xAA sinds nur mehr ~12,5%. Und ob, das Pixel in Bewegung nun mit 0/0/0 und 255/255/255 daherflimmert, oder mit 0/0/0 und 32/32/32 macht optisch nen gewaltigen Unterschied.

Na so ein Quark, überall wo man weite Flächen überschauen kann hilft auch 256xAA nicht.


Hier hab ich einen ziemlichen Worstcase konstruiert (und das damals nur mit 6xMSSAA): http://www.forum-3dcenter.org/vbulletin/showpost.php?p=5661659&postcount=65

So wird man das auf mehreren Gründen nie in einem Siel sehen: 1. ist die Farbgebung unrealistisch. In ner Ingamedarstellung wird der Kontrast nie annähernd so groß sehen. 2. Performanceprobleme. Bevor man wirklich in einem Spiel Botanik bis zum letzten Blatt komplett ausmodelliert darstellen kann, muss die Hardware deutlich leistungsfähiger werden.

Exxtreme
2008-03-17, 09:08:06
"they may be able to soak the significant software architecture deficit by clubbing it with processing power"

(SS)AA hilft da auch nicht. Fakt ist, dass ein Polygon niemals kleiner werden darf als ein Pixel. (besser sind eigendlich noch 2 Pixel) SSAA verschiebt das Problem nur etwas nach hinten.

LOD ist das einzige was effizent und effektiv das Problem aus der Welt schafft!
Jedes AA verschiebt das Problem nur nach hinten. Man kann es aber soweit nach hinten verschieben, daß es nicht sichtbar wird.

del_4901
2008-03-17, 09:11:36
Ihr seid hier ja die 3D-Gurus, ihr müsst es ja wissen. LOL

@LOL: Deine Bäume flimmern überhaupt nicht oder was? Geh besser mal zum Optiker.

Mr. Lolman
2008-03-17, 09:17:23
Ihr seid hier ja die 3D-Gurus, ihr müsst es ja wissen. LOL

@LOL: Deine Bäume flimmern überhaupt nicht oder was? Geh besser mal zum Optiker.

Sicher flimmern sie. Aber lies dir mal meine Ausführungen dazu durch.

del_4901
2008-03-17, 09:19:34
Sicher flimmern sie. Aber lies dir mal meine Ausführungen dazu durch.
Ich hab nach dem ersten Satz aufgehört, weil soviel Scheiss will nicht in meinen Kopf rein.

Exxtreme
2008-03-17, 09:21:28
Ich hab nach dem ersten Satz aufgehört, weil soviel Scheiss will nicht in meinen Kopf rein.
Komm mal wieder runter.

del_4901
2008-03-17, 09:24:21
AA behebt das Problem nicht, Fakt. LOD dagegen schon, und das zu weitaus besseren Kosten!

Mr. Lolman
2008-03-17, 09:25:46
Ich hab nach dem ersten Satz aufgehört, weil soviel Scheiss will nicht in meinen Kopf rein.

Warum sind denn alle aktuellen LOD-Implementationen unzureichend? Weil die Leutz zu blöd dazu sind? Warum meinst du wohl, sieht man in quasi jedem Spiel mit hoher Sichtweite munter Meshes zw den einzelnen LOD-Stufen herumpoppen?

Etwa weil das besser aussieht, als ein bisschen Flimmern mit hohen AA-Modi? :ulol:

Nein, weil ne bessere Implementation performanceintensiver wäre => Ergo man baut Objektlod aufgrund von Performancegesichtspunkten ein - und nicht der Qualität wegen! :P

del_4901
2008-03-17, 09:34:32
Warum sind denn alle aktuellen LOD-Implementationen unzureichend? Weil die Leutz zu blöd dazu sind? Warum meinst du wohl, sieht man in quasi jedem Spiel mit hoher Sichtweite munter Meshes zw den einzelnen LOD-Stufen herumpoppen?

Etwa weil das besser aussieht, als ein bisschen Flimmern mit hohen AA-Modi? :ulol:

Nein, weil ne bessere Implementation performanceintensiver wäre => Ergo man baut Objektlod aufgrund von Performancegesichtspunkten ein - und nicht der Qualität wegen! :P

Das Problem ist einfach das gute Verfahren relativ jung sind, und man das für die Echtzeitdarstellung erst "in den Griff bekommen" muss. Das Popping lässt sich mit Geomorphing komplett erschlagen. Da muss man aber auch aufpassen. (BF2) Die Leute sind gewiss nicht zu blöd, nur leider sitzt denen ein BWLer im Nacken, der sagt ist nicht wegen ist nicht. Bzw. sind viele Engines gar nicht darauf ausgelegt... und das kriegt man auch nicht an einem Wochenende eingebaut. Ranflanschen ist auch nicht immer die beste Lösung. Ich muss aber ehrlich sagen, persönlich nehme ich lieber Popping in Kauf als einen Epileptischen Schock, wegen der Flimmerei.

Ich bin ja der Meinung das ihr gar nicht wisst, wie das flimmert ohne LOD. Sowas kenn ich nur von UNIprojekten, bei den Games findet überall LOD zur Flimmervermeidung statt.

Und bitte keine Umkehrschlüsse mehr, das fängt langsam aber sicher echt an wehzutun.

Exxtreme
2008-03-17, 09:35:23
AA behebt das Problem nicht, Fakt. LOD dagegen schon, und das zu weitaus besseren Kosten!
Na, da will ich mal eine gute Geometrie-LOD-Implementierung sehen. Also so eine, die ohne komisches Aufpoppen und Gelände verformen auskommt.

Und daß AA ein Problem generell nicht behebt, das ist schon klar. Es kann das Problem aber soweit abmildern, daß es nicht mehr stört.

robbitop
2008-03-17, 09:41:39
AA mindert das Problem natürlich, weil es die Geometrie n mal besser abtastet. Allerdings ist auch das natürlich begrenzt. Erstens spart, wie Lolman und andere ja schon ausführten, ein LOD enorm Rechenleistung und zweitens verhindert es Flimmern. Dank dem begrenzten Bildschirmraster lassen sich nicht alle Informationen 100%ig vom AA rekonstruieren. AA hilft zwar, ersetzt aber kein gutes LOD. Schon gar nicht auf sinnvoller Ebene.

Ich bin allerdings auch der Meinung, dass die heutige Geometrie noch nicht an allen Stellen gut genug ist.
In Autorennspielen sehe ich noch zu oft eckige Kurven. Zu oft sehe ich leicht kantige Münder und Augen in Spielen. Oft sehe ich gerade, wenn man versucht die Natur nachzustellen, sehr grobe Felsen, die in der Natur zwar nicht rund sind aber auch nicht so wenige gerade Kanten haben. Felsen sind ja eher schroff.

Gast
2008-03-17, 09:45:29
Mehr Polygone bedeutet nicht automatisch mehr Flimmern. Nur wenn es sehr dünne Objekte gibt, kann man flimmern bekommen, und das egal bei welchem LOD. Wenn man sich hingegen eine Kugel mit 3Millionen Polys anschaut, wird man kein Flimmern sehen.

LODs gibt es z.Z. nur aus Geschwindigkeitsgründen. LODs umzuschalten kostet auch relativ wenig bis nichts, weil das nicht jedes Frame gemacht wird, sondern sehr sehr selten, wenn nötig. Ohne LOD hätte schon das Terrain locker 8 Millionen Polygone.

Mr. Lolman
2008-03-17, 10:15:13
Das Problem ist einfach das gute Verfahren relativ jung sind, und man das für die Echtzeitdarstellung erst "in den Griff bekommen" muss. Das Popping lässt sich mit Geomorphing komplett erschlagen. Da muss man aber auch aufpassen. (BF2) Die Leute sind gewiss nicht zu blöd, nur leider sitzt denen ein BWLer im Nacken, der sagt ist nicht wegen ist nicht. Bzw. sind viele Engines gar nicht darauf ausgelegt... und das kriegt man auch nicht an einem Wochenende eingebaut. Ranflanschen ist auch nicht immer die beste Lösung. Ich muss aber ehrlich sagen, persönlich nehme ich lieber Popping in Kauf als einen Epileptischen Schock, wegen der Flimmerei.

BF2 hat schon eine der besseren Implementationen - und außerdem eine ohnehin sehr geringe Sichtweite.


Ich bin ja der Meinung das ihr gar nicht wisst, wie das flimmert ohne LOD. Sowas kenn ich nur von UNIprojekten, bei den Games findet überall LOD zur Flimmervermeidung statt.

Bei Farcry und Crysis kann man mittels div. Variablen ganz gut das LOD-System steuern. Nicht umsonst schraubte man später, auf stärkeren Rechner, bei Farcry den LOD-Ratio bis zum höchstmöglichen Grad nach oben. Siehs dir doch einfach mal selbst an.

GothicIII ist auch so ein Kandidat. Hat zwar ein interessantes LOD-System (leider auch ohne Morphing - was nicht besonders neu (siehe Rallisport Challenge), sondern bloß teuer ist, da man ja 2 LOD-Stufen gleichzeitig darstellen muss), aber den ultimativen BQ-Genuss hat man auch erst dann, wenn man die Objektsichtweite ordentlich nach oben schraubt...

EDIT: Also verwenden diese Spiele Objekt-LOD wohl nicht primär zu Flimmervermeidung. Oder sind alle Leutz mit Highendsystemen etwa so masochistisch, dass sie an den Spielen herumtweaken, damits nicht nur langsamer läuft, sondern durch die erhöhte Flimmerneigung auch schlechter aussieht?

Mehr Polygone bedeutet nicht automatisch mehr Flimmern. Nur wenn es sehr dünne Objekte gibt, kann man flimmern bekommen, und das egal bei welchem LOD. Wenn man sich hingegen eine Kugel mit 3Millionen Polys anschaut, wird man kein Flimmern sehen.

LODs gibt es z.Z. nur aus Geschwindigkeitsgründen. LODs umzuschalten kostet auch relativ wenig bis nichts, weil das nicht jedes Frame gemacht wird, sondern sehr sehr selten, wenn nötig. Ohne LOD hätte schon das Terrain locker 8 Millionen Polygone.


Genau so siehts aus. Aber bevor sich gewisse Leute mal Gedanken hinsichtlich dessen machen, werden sie lieber ausfällig. Ich gebs auf. ;(

robbitop
2008-03-17, 10:45:46
Ein LOD schärfer einstellen heißt ja nicht, dass es aus ist.
Primär ist ein LOD natürlich für die Performance da. Sonst müßte man ja Faktor x für Informationen ausgeben, die das Pixelraster auf dem Bildschirm gar nicht darstellen kann.
Aber nicht unwichtig ist es eben auch für die Flimmervermeidung. Dass AA dort vieles mindert, sollte wenn man AA einigermaßen verstanden hat, klar sein.

Mr. Lolman
2008-03-17, 10:50:47
Ein LOD schärfer einstellen heißt ja nicht, dass es aus ist.

Wenn mans schärfer stellt hilfts aber nicht mehr so viel gegen Flimmerneigung. Außerdem hat mans bei Farcry quasi ausgeschalten. Tatsächlich wurde man nur durch die Performance und die Engine limitiert (irgendwann traten Fehler auf, und es wurden nicht mehr alle Objekte dargestellt). Ich hab aber noch bei keinem Spiel einen Punkt entdeckt, wo man das Objekt-LOD nicht mehr schärfer stellen wollte, weils sonst zu sehr geflimmert hätte...

Ansonsten Ack.

betasilie
2008-03-17, 16:28:43
Ich bin allerdings auch der Meinung, dass die heutige Geometrie noch nicht an allen Stellen gut genug ist.
In Autorennspielen sehe ich noch zu oft eckige Kurven. Zu oft sehe ich leicht kantige Münder und Augen in Spielen. Oft sehe ich gerade, wenn man versucht die Natur nachzustellen, sehr grobe Felsen, die in der Natur zwar nicht rund sind aber auch nicht so wenige gerade Kanten haben. Felsen sind ja eher schroff.
Ich glaube das verwundert hier keinen. X-D

Mehr Polygone bedeutet nicht automatisch mehr Flimmern. Nur wenn es sehr dünne Objekte gibt, kann man flimmern bekommen, und das egal bei welchem LOD. Wenn man sich hingegen eine Kugel mit 3Millionen Polys anschaut, wird man kein Flimmern sehen.

LODs gibt es z.Z. nur aus Geschwindigkeitsgründen. LODs umzuschalten kostet auch relativ wenig bis nichts, weil das nicht jedes Frame gemacht wird, sondern sehr sehr selten, wenn nötig. Ohne LOD hätte schon das Terrain locker 8 Millionen Polygone.
So sieht es aus. Heutige Spiele können noch mehrere Säcke Polygone vertragen, aber halt an den richtigen Stellen. ;)




Wie läuft das eigentlich bei Renderfilmen ab, z.B. von Pixar, wenn die einen riesigen zoomout machen?

dargo
2008-03-17, 17:05:57
Aktuell haben Objektlodsysteme hauptsächlich den Sinn, Rechenleistung zu sparen.

Das sehe ich auch so. Hier mal ein Beispiel von Crysis:
http://img388.imageshack.us/img388/1237/crysis6420071118159j4pf4.jpg
Bei den etwas weiter entfernten Bäumen (zb. rechts) sieht man ganz klar, dass das LOD zu früh für ein perfektes Ergebnis eingreift (mit Sicherheit halt nur aus Performancegründen). Man sieht das agressive LOD übrigens auch sehr gut in dem GPU_Benchmark von Crysis ganz am Anfang wenn die Kamera sich nach unten bewegt.

Um nochmal auf das Bild oben zurückzukommen - würde man jetzt versuchen die Details der etwas weiter entfernten Vegetation so gut wie möglich an die Details der Vegetation im Vordergrund zu bringen müsste man viel mehr Polygone in diese Szene investieren. Oder verstehe ich hier was falsch?
Da man dann aber bei zb. einem 19" TFT die Pixelmenge um ein vielfaches überschreiten würde würde der Hintergrund wie sau anfangen zu flimmern. Also hilft doch nur eine deutlich höhere Auflösung um noch mehr Informationen in die Szene unterzubringen.

Ich bin allerdings auch der Meinung, dass die heutige Geometrie noch nicht an allen Stellen gut genug ist.
In Autorennspielen sehe ich noch zu oft eckige Kurven. Zu oft sehe ich leicht kantige Münder und Augen in Spielen. Oft sehe ich gerade, wenn man versucht die Natur nachzustellen, sehr grobe Felsen, die in der Natur zwar nicht rund sind aber auch nicht so wenige gerade Kanten haben. Felsen sind ja eher schroff.
Full Ack! Deswegen wundert es mich umso mehr, dass manche der Meinung sind heutige Spiele würden genug Polygone verwenden. Gutes Beispiel liefert hier imho PGR4:
http://www.picupload.net/uploads/0879d73d1761ef8bba24b58ffcd01fdd.jpg
Also, unter detailierten Häusern und runden Kotflügeln verstehe ich was anderes.

Liszca
2008-03-21, 17:42:45
I[;6356506']wieso? aus 100m entfernung fällt es überhaupt nicht mehr auf, ob eine kugel aus 20k oder aus 500 polygonen besteht.
ohne lod würde vieles im argen liegen (textur-lod, sichtweite etc.). soviel rechenleistung könnte man in absehbarer zeit nie zur verfügung stellen, um annähernd fotorealistische grafik hinzubekommen

das mit dem lod erinnert mich mehr an den bilinearen AF von ATI, jetzt haben wir einen feinen übergang bei trilinearen AF (auf details und das nvidia den besseren hat möchte ich nicht eingehen).

Was ich damit sagen wollte daß es darauf ankommt in welchem umfang die daten (polygone) abnehmen wenn etwas in die ferne rückt, schließlich soll das ganze ja noch homogen für das auge wirken.

_DrillSarge]I[
2008-03-21, 18:06:31
Was ich damit sagen wollte daß es darauf ankommt in welchem umfang die daten (polygone) abnehmen wenn etwas in die ferne rückt, schließlich soll das ganze ja noch homogen für das auge wirken.
mit dem ati/nv "cheating" hat das ja nix zu tun, da es nützlich ist ;).
das problem ist halt, dass man ziemlich viele lod-stufen bieten muss, damit das ganze nicht so auffällt. die meisten spielenutzen vielleicht um die 3-4 stufen und da kommt es zu berühmten aufpoppen.
wobei bspw. 100 stufen ein lod system auch ziemlich aufwändig machen würden (sowohl für die entwickler, als auch abnehmende effizienz)

Gast
2008-03-21, 18:57:27
Was ich damit sagen wollte daß es darauf ankommt in welchem umfang die daten (polygone) abnehmen wenn etwas in die ferne rückt, schließlich soll das ganze ja noch homogen für das auge wirken.

mit dem texturfilter hat das zwar nichts zu tun, aber das problem hast du schon richtig erkannt.

im gegensatz zu texturen, wo wir einfach jede LOD-stufe vierteln und in den zwischenbereichen (mit dem trilinearen filter) interpolieren geht es bei modellen leider nicht.

bei fixen LOD-stufen ist natürlich die gefahr vorhanden, dass man den übergang sieht, modelle die sich dynamisch verändern haben wieder das problem, dass sie schon bei kleinen bewegungen zu "schwabeln" beginnen (messiah hatte glaub ich eine derartige engine, und ich kann mich auch dunkel an irgendein strategiespiel erinnern) und zusätzlich auch ziemlich rechenintensiv werden.

Gast
2008-03-21, 19:10:54
im gegensatz zu texturen, wo wir einfach jede LOD-stufe vierteln und in den zwischenbereichen (mit dem trilinearen filter) interpolieren geht es bei modellen leider nicht.

Progressive Meshes machen sowas ähnliches.