PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum werden Schatten in modernen Spielen nicht geglättet?


boxleitnerb
2011-07-10, 08:59:36
Das ist mir jetzt schon öfters aufgefallen. Crysis, Assassins Creed Brotherhood, GTA4...trotz SGSSAA und/oder Downsampling ist ein großer Teil des Bildes weiterhin unruhig - die Schatten.

Woran liegt das? Vielleicht könnte einer der Cracks mal dazu was sagen :smile:

dargo
2011-07-10, 10:51:53
Performancegründe?

PrefoX
2011-07-10, 10:55:18
ja wurde alles gesagt ; )

boxleitnerb
2011-07-10, 11:15:10
Das beantwortet jetzt nicht wirklich meine Frage ;)
Downsampling müsste doch auf alles greifen oder nicht? MSAA (und damit SGSSAA) greift ja soweit ich weiß nur auf Objekte, für die der Entwickler dies vorgesehen hat, richtig?

PrefoX
2011-07-10, 11:25:44
Aber wennn die Schatten doch sehr ungenau berechnet werden kann das doch auch nicht helfen.
Das ist ja meist nur eine Shadowmap(Textur) und die Auflösung dabei wird ja nicht durch downsampling gesteigert. Bei Doom3 haste immer super genaue Schatten, da flackert nix aber das kostet auch sauviel an Performance.

Raff
2011-07-10, 11:28:03
Viel schlimmer als flackernde Kanten: Warum zum Teufel werden die Schatten/Shadow Maps nur bilinear gefiltert? Dieses unkaputtbar offensichtliche Banding bei zahlreichen Spielen ist die Mega-Seuche (Assassin's Creed, Arcania, etc.). Eine Tri-Keule darüber würde natürlich viele Fps kosten, aber das ist's ja wohl wert. Beim Rest des Bildes sind wir ja auch schon seit 10 Jahren bei trilinear(-anisotroper) Filterung.

MfG,
Raff

Börk
2011-07-10, 11:36:40
Wie willste denn trilinear Filtern? Shadowmaps liegen doch nur in einer Auflösung vor (die von der Camera aus der Lichtquelle). Du könntest dithern oder mehrere Lichtquellen übereinanderlegen, aber trilinear Filtern kannste da nix.

Coda
2011-07-10, 11:59:36
Viel schlimmer als flackernde Kanten: Warum zum Teufel werden die Schatten/Shadow Maps nur bilinear gefiltert? Dieses unkaputtbar offensichtliche Banding bei zahlreichen Spielen ist die Mega-Seuche (Assassin's Creed, Arcania, etc.). Eine Tri-Keule darüber würde natürlich viele Fps kosten, aber das ist's ja wohl wert. Beim Rest des Bildes sind wir ja auch schon seit 10 Jahren bei trilinear(-anisotroper) Filterung.
Das hat nichts direkt mit Texturfilterung zu tun, d.h. so einfach ist es nicht.

PrefoX
2011-07-10, 12:22:24
Was will man denn bei einer gleichmäßig gefärbten textur "glätten" mit af? das bringt doch nur schärfe bei details Raff :P

Raff
2011-07-10, 12:32:24
Das hat nichts direkt mit Texturfilterung zu tun, d.h. so einfach ist es nicht.

Führ das doch bitte mal aus, ich möchte das endlich verstehen. :)

Was will man denn bei einer gleichmäßig gefärbten textur "glätten" mit af? das bringt doch nur schärfe bei details Raff :P

Die abrupten Übergänge zwischen den Schattentexturen sehen aus wie MIP-Maps (Übergang der Basistextur in die erste, nur 1/4 so große MIP). Zwischen MIP-Maps kann bzw. sollte man interpolieren (trilinear). AF wäre das Sahnehäubchen. Aber so einfach scheint es ja nicht zu sein ... ;)

MfG,
Raff

Coda
2011-07-10, 12:37:58
Führ das doch bitte mal aus, ich möchte das endlich verstehen. :)
Das (http://msdn.microsoft.com/en-us/library/ee416307(v=vs.85).aspx) gibt eine gute Übersicht.

Man kann schon glätten, allerdings muss man dann halt für jeden Pixel zwei komplette Schattenberechnungen machen, was sehr teuer ist.

PrefoX
2011-07-10, 12:44:20
Mein Gott das ist aber echt viel Coda ;D

Aber ich denke mal, auf lange sicht gesehen werden doch die Shadowmaps durch realtimeshadows was weiss ich ersetzt. raytrace schatten werden es ja erstma nicht sein aber da wirds bestimmt noch etwas dazwischen geben.

Coda
2011-07-10, 13:15:23
Aber ich denke mal, auf lange sicht gesehen werden doch die Shadowmaps durch realtimeshadows was weiss ich ersetzt.
He, was? Shadowmaps sind realtime.

Raff
2011-07-10, 13:15:37
Das (http://msdn.microsoft.com/en-us/library/ee416307(v=vs.85).aspx) gibt eine gute Übersicht.

Man kann schon glätten, allerdings muss man dann halt für jeden Pixel zwei komplette Schattenberechnungen machen, was sehr teuer ist.

Danke! :) Nun, seit den ersten Soft Shadows wissen wir, dass hübsche Schatten teuer sind. Das hindert einen Entwickler aber nicht daran, bei maximalen (oder von mir aus "Ultra"-) Details eine gescheite Filterung einzubauen. Anscheinend steckt da immer noch die Angst vor dem "Mimimi, ruckelt wie Seuche, euer doofes Spiel!" der Nutzer. Nennen wir es das "Crysis-Syndrom".

Gegen Bi-Banding helfen hohe Auflösungen und Supersampling jedoch (im Gegensatz zu matschigen Schattenkanten) indirekt – man kann die Banden durch fettes Supersampling weiter Richtung Horizont schieben ...

MfG,
Raff

PrefoX
2011-07-15, 17:53:45
He, was? Shadowmaps sind realtime.
ja natürlich sind shadowmaps in realtime berechnet, ich meinte eher raytracingschatten die ja exakt sind. (hab mich da bissl blöd ausgedrückt)

Captain Future
2011-07-15, 21:21:17
Man kann schon glätten, allerdings muss man dann halt für jeden Pixel zwei komplette Schattenberechnungen machen, was sehr teuer ist.

Aber nur in einem (definierbaren) Band (konzeptuell ähnlich dem trilinearen Filter übrigens, auch wenn über Shader gelöst), in welchem dann zwischen zwei Cascaden überblendet wird. Und wie sparsam solche Übergangsbänder sein können, exerzieren uns Ati und Nvidia ja seit Jahren vor - für die meisten reichts offenbar.

Das Beispiel im DX-SDK braucht für brauchbare Cascade Blends gerade mal 3% Leistung. Guter Deal, würde ich sagen

Exxtreme
2011-07-16, 16:35:16
Allgemein finde ich es geil wie viele Schwierigkeiten Schattenberechnung bereitet. Entweder sieht es zum K***** aus oder es frisst 80% der Rechenleistung.

=Floi=
2011-07-16, 23:35:20
genau DU bist jetzt ein negativbeispiel. wenn ich es einstellen kann, dann sind die 80% rechenleistung irrelevant, weil ich in 5 jahren uch noch etwas von den schönen schatten habe! darum geht es doch auch hier, wenn man über die ini die qualität der schatten skalieren kann und ggf. neueren systemen anpassen kann.

Sven77
2011-07-16, 23:57:14
ja natürlich sind shadowmaps in realtime berechnet, ich meinte eher raytracingschatten die ja exakt sind. (hab mich da bissl blöd ausgedrückt)

Nein, Shadowmaps sind in Realtime Raytraced Shadows immer überlegen.. selbst in CGI werden noch Shadow Maps benutzt, da sie immense Performancevorteile haben..

PrefoX
2011-07-17, 16:56:49
Nein, Shadowmaps sind in Realtime Raytraced Shadows immer überlegen.. selbst in CGI werden noch Shadow Maps benutzt, da sie immense Performancevorteile haben..
stimmt einfach nicht, sie haben nicht nur Vorteile, das stimmt einfach NULL.
das sie schneller rendern ja, aber sie haben auch dicke nachteile... google halt mal, ich arbeite auch mit 3dsmax.

Sven77
2011-07-17, 17:20:14
Au ja, render doch bitte mal einen Furball mit Deep Shadow Maps und dann mit Raytraced Shadows ;)
Die Nachteile von Shadow Maps kommen in Spielen wahrscheinlich nie zum tragen, selbst in CGI lassen sich inzwischen 95% aller Probleme umschiffen. Um saubere Soft-Shadows mit Raytracing hinzubekommen, musst du mit Samples nur so um dich schiessen.. und das für jede Lichtquelle. Viel Spass ;)

http://graphics.stanford.edu/papers/deepshadows/

Aber es würde auch einfach reichen die Auflösung der Shadow Maps zu erhöhen, dann würde schon keiner mehr heulen

Matti
2011-07-17, 18:24:01
Ich hab vor einiger Zeit mal eine Tech-Demo mit Soft-Shadows gemacht. Dabei verwende ich Cube-Depth-Maps und nehme bei der finalen Schatten-Berechnung mehrere Samples in einem variablen Radius pro Pixel. Dadurch erreiche ich folgendes:

- man hat weiche Halbschatten-Übergänge
- man hat keine Banding-Probleme
- der Schatten wird umso unschärfer, je größer die Distanz zwischen schattenwerfendem und beschattetem Objekt ist

Vor allem der letzte Punkt wird derzeit von den meisten Game-Engines nicht beachtet, weil das ziemlich viel Performance braucht. Einziger Nachteil meines Verfahrens ist ein leichtes Rauschen in Halbschatten-Bereichen, weil die Samples zufällig angeordnet sind. Würde ich die Samples aber nicht zufällig anordnen, hätte man wieder Banding, was noch viel störender wäre. Shadow-Mark kann unter http://home.arcor.de/matthias.rossmy heruntergeladen werden.

Geldmann3
2011-07-17, 21:31:49
Weil die Playstation4, noch nicht auf dem Markt ist.

dargo
2011-07-17, 21:39:45
Weil die Playstation4, noch nicht auf dem Markt ist.
Thema verfehlt?

Falls du darauf anspielst, dass perfekte Schattendarstellung erst mit der nächsten Playstation-Konsole kommen wird muss ich dich enttäuschen. Man wird sicherlich nicht die Leistung übermäßig dafür verschwenden.

Geldmann3
2011-07-17, 22:27:19
Besser als jetzt wird es doch wohl werden oder?
Im Moment sind die Schatten in einigen Spielen wie zum Beispiel NFSS2 echt grässlich. Das geht doch bestimmt besser. Ich denke, die sind nur zu faul für den PC eine Extrawurst zu machen.

Sven77
2011-07-17, 22:27:54
Das eine hat mit dem anderen nix zu tun

Dicker Igel
2011-07-17, 23:00:23
Aber es würde auch einfach reichen die Auflösung der Shadow Maps zu erhöhen, dann würde schon keiner mehr heulen

Klar wird dann wieder geheult, weil die 50€ DX9 Graka und der Singlecore kein Max Setting erlauben ;O)
Vor allem wenn die Userschaft Konsolenports gewöhnt sind, wo eben immer alles auf Anschlag rennt und man in den entsprechenden Options nicht überfordert wird.

Geldmann3
2011-07-19, 19:39:43
Klar wird dann wieder geheult, weil die 50€ DX9 Graka und der Singlecore kein Max Setting erlauben ;O)
Könnte man die Über-Settings nicht in eine .cfg oder .ini Datei verschieben? Dann kommen da nur die erfahreneren Nutzer ran.
Für alle anderen könnte man das Spiel einfach einmalig (beim ersten Start) so Benchmarken und konfigurieren, dass es mit knapp über 25FPS läuft.

Dicker Igel
2011-07-19, 22:46:21
Könnte man die Über-Settings nicht in eine .cfg oder .ini Datei verschieben? Dann kommen da nur die erfahreneren Nutzer ran.

Sowas gibt es ja teilweise schon, kommt eben auf die Laune der Dev's an. Zuviel werden sie aber auch nicht "anbieten", weils dann auch wieder Geheule geben könnte (warum nicht offiziell blaa blaa blubb). Bieten sie es an ...


Für alle anderen könnte man das Spiel einfach einmalig (beim ersten Start) so Benchmarken und konfigurieren, dass es mit knapp über 25FPS läuft.

Sowas der Art gibt es auch schon, wenn auch nicht als ersichtlichen Bench ("die Optionen wurden ihrem System angepasst"odA).
Ich denke die Mehrzahl der heutigen Gamer werden gar nicht die GFX Optionen nutzen, Spiel starten, zocken ... und alles MUSS passen ^^

Geldmann3
2011-07-20, 04:44:51
Ich denke die Mehrzahl der heutigen Gamer werden gar nicht die GFX Optionen nutzen, Spiel starten, zocken ... und alles MUSS passen ^^
Kommt drauf an. Ich würde doch stark vermuten(hoffen), dass viele Leute die einen Gaming-PC besitzen auch wissen mit den Ingame-Settings zu experimentieren.

Die meisten gehören leider nicht zu den 3D'lern :smile: sondern zu den 50€ DX9 Graka und (...) Singlecore
'lern

ROXY
2011-08-09, 07:58:03
sinnfrei - gute entwickler (konsole) hauen einfach einen diffuse filter auf die schatten.
sieht gut aus und zieht keine leistung.

http://blenderunderground.com/tutorials/text/composite2/images/diffuse-shadow.jpg




schlechtes beispiel für schatten ist crysis

auf medium bescheiden
auf high ganz ansehnlich .. jedoch steigt der verbrauch enorm
auf very high passt die qualität .. jedoch ist bei vielen schon 20% der gpu leistung draufgegangen nur wegen "schatten"


und jetzt hau mal dirt 3 in die xbox und starte einen vergleich
http://youtu.be/3ca5FPHkRok?t=5m33s


.

Eidolon
2011-08-09, 08:40:29
Du vergleichst Konsolen mit PCs. Auf Konsolen haben die Entwickler kaum eine andere Wahl, mangels der Leistung. auf dem Pc schon.

ROXY
2011-08-12, 03:39:06
Du vergleichst Konsolen mit PCs. Auf Konsolen haben die Entwickler kaum eine andere Wahl, mangels der Leistung. auf dem Pc schon.

und ? schau dir mal das wasser von devil may cry 4 an .. sieht doch sehr gut aus - wozu mehr?

warum soll ich mich in schatten hineinsteigern und da leistung vergeuden?
da investier ich lieber ins leveldsign... crysis hat nämlich nur stupide copy&paste grafik zu bieten, da bringen mir die ultra high shadows auch nichts.

es liegt nicht an der hardwareleistung sonden an fähigen spieleschmieden und am pc "only" sektor gibts da eben kaum welche.
die ganzen top titel der letzten 5 jahre wurden PRIMÄR für konsolen entwickelt.

Eidolon
2011-08-12, 08:17:35
Was totaler Blödsinn ist. Du erinnerst einen von Tag zu Tag mehr an Thade.

Top titel gibt es auf dem PC genauso, sogar welche die primär auf dem PC entwickelt wurden / wo der PC Leadplattform war, siehe Witcher 2, Starcraft 2, ...

Oder sieh Dir den Indiebereich an, zwar keine Topgrafik, aber geniale Spiele, wie Minecraft, Frozen Synapse, ...