PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum gibt es in Sims 2 nicht überall AA?


DrFreaK666
2005-07-26, 09:58:22
Hallöle, habe dies zwar schon in einem anderen Thread gefragt, aber vielleicht sieht es ja jemand wenn ich einen extra-Thread dazu öffne.
Und zwar geht es um Folgendes: Habe mal meiner Freundin über die Schulter geschaut als sie Sims 2 spielte. Und dann ist mir aufgefallen, dass im Spiegel beim Sims-erstellen kein AA aktiviert ist, obwohl es sonst überall zu sehen ist.
Woran liegt das??

Hier ein Schreenshot

http://img349.imageshack.us/img349/8514/sims220050726005411454sr.jpg (http://imageshack.us)

Monger
2005-07-26, 10:13:39
Hm, bin jetzt nicht der Experte, aber afaik werden solche Spiegelungen gerne mit CubeMaps o.ä. gemacht - das heißt, das Bild was der Spiegel zeigt, ist letztendlich eine Textur - und lässt sich nicht glätten. (Zumindest nicht mit Multisampling, was aber momentan nunmal Stand der Dinge ist)

Und da FSAA (zumindest momentan) immer NACH solchen Shadereffekten angewendet wird, gibt es auch keine Chance, die Bildquelle zu glätten, bevor sie auf den Spiegel übertragen wird!

Cyv
2005-07-26, 10:17:17
Stell doch einfach mal SSAA ein und schau obs wech is ;)

Xmas
2005-07-26, 10:20:48
Hm, bin jetzt nicht der Experte, aber afaik werden solche Spiegelungen gerne mit CubeMaps o.ä. gemacht - das heißt, das Bild was der Spiegel zeigt, ist letztendlich eine Textur - und lässt sich nicht glätten. (Zumindest nicht mit Multisampling, was aber momentan nunmal Stand der Dinge ist)

Und da FSAA (zumindest momentan) immer NACH solchen Shadereffekten angewendet wird, gibt es auch keine Chance, die Bildquelle zu glätten, bevor sie auf den Spiegel übertragen wird!
Das Spiegelbild wird hier zunächst in eine Textur gerendert und dann als Environment Map auf den Spiegel gelegt. Allerdings ist es durchaus möglich, auch beim Rendern in Texturen (nicht irgendwie nachträglich) Multisampling zu verwenden. Das Spiel muss dies aber ausdrücklich anfordern. Per Treiber lässt sich das nicht erzwingen.

DrFreaK666
2005-07-26, 10:26:15
Warum wurde hier Renter2textur verwendet und nicht die altmodische Spiegelungstechnik wie in Unreal?? Naja, nicht so wild.
Wollts nur mal wissen :-)

edit: Habe mal AA im Spiel eingestellt, ändert aber nichts an der Sache

stickedy
2005-07-26, 10:44:55
Warum wurde hier Renter2textur verwendet und nicht die altmodische Spiegelungstechnik wie in Unreal??
Weil ne "neue" Funktion automatisch besser ist, auch wenn sie Nachteile hat :rolleyes:

(Achtung: Ironie!)

Neomi
2005-07-26, 11:19:26
Warum wurde hier Renter2textur verwendet und nicht die altmodische Spiegelungstechnik wie in Unreal?? Naja, nicht so wild.
Wollts nur mal wissen :-)

Weil die Spiegel in Unreal nicht mitten im Raum standen, sondern den Raum begrenzten. Deshalb konnte man dort durch den "Spiegel" (nur eine transparente Fläche) in eine gespiegelte Version des Raumes schauen. Bei freistehenden Spiegeln kann das nicht so problemlos funktionieren, da die gespiegelten Räume sich geometrisch überschneiden würden.

marco42
2005-07-26, 14:59:04
Weil die Spiegel in Unreal nicht mitten im Raum standen, sondern den Raum begrenzten. Deshalb konnte man dort durch den "Spiegel" (nur eine transparente Fläche) in eine gespiegelte Version des Raumes schauen. Bei freistehenden Spiegeln kann das nicht so problemlos funktionieren, da die gespiegelten Räume sich geometrisch überschneiden würden.

dafuer gibt es stencil buffer. also erst den spiegel als maske rendern und dann den raum gespiegelt.

Neomi
2005-07-26, 16:04:53
dafuer gibt es stencil buffer. also erst den spiegel als maske rendern und dann den raum gespiegelt.

Wo kämen wir denn hin, wenn es so einfach wäre? Erstmal muß man noch den Depthbuffer für den Spiegel löschen. Genau dann bekommt man aber Probleme mit Objekten, die direkt hinter dem Spiegel stehen, da die gespiegelte Variante vor dem Spiegel ebenfalls innerhalb der Maske liegt. Man braucht also eine frei definierbare Clipping Plane, um diese Objekte rauszuclippen, aber nicht jede Hardware bietet sowas.

DrFreaK666
2005-07-27, 00:16:57
Also ist es nicht ohne weiteres möglich die Umgebung zu spiegeln und trotzdem AA zuzulassen?

Xmas
2005-07-27, 01:44:25
Doch. Wie ich bereits sagte, die Anwendung kann das tun. Wenn die Entwickler denn wollen.

Coda
2005-07-27, 02:15:27
Weil die Spiegel in Unreal nicht mitten im Raum standen, sondern den Raum begrenzten. Deshalb konnte man dort durch den "Spiegel" (nur eine transparente Fläche) in eine gespiegelte Version des Raumes schauen. Bei freistehenden Spiegeln kann das nicht so problemlos funktionieren, da die gespiegelten Räume sich geometrisch überschneiden würden.Das stimmt nicht, Unreal 1 konnte das auch mit Spiegeln die mitten im Raum stehen.

UT2004 übrigens auch wenn man Stencil Buffer einschält ;)

Neomi
2005-07-27, 03:30:49
Das stimmt nicht, Unreal 1 konnte das auch mit Spiegeln die mitten im Raum stehen.

Da kann ich mich zwar an keinen erinnern, aber ich glaube das einfach mal. Die Erinnerung an den spiegelnden Boden direkt im ersten Level ist dagegen noch ziemlich gut erhalten, fast so gut wie die Erinnerung an die Referenzblutlache... :D

Das Clipping war damals dank Softwaretransformation jedenfalls kein Problem. Wie wurde der Spiegel denn maskiert? Einen Stencilbuffer hatten die damals gängigen Karten ja nicht, soweit ich weiß.

FeuerHoden
2005-07-27, 03:35:27
The Wheel of Time war auch ein Spiel in dem es zumindest einen frei stehenden Spiegel gab. Das Spiel basiert auch auf einer Unreal Engine.