PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : F.E.A.R. ... Parallaxmapping (virtual displacement-mapping) der exzessiven Art.


betasilie
2005-10-23, 21:21:22
Hallo

Ich wollte an dieser Stelle mal drauf hinweisen, dass FEAR Parallaxmapping einsetzt. Ist ja unglaublich wie massiv die Entwickler das einsetzen, und wie toll das wirkt. Einschusslöcher in den Wänden, die Tasten der PC-Tastaturen, Gemäuer, etc.

Mal dezent, und mal sehr ins Auge fallend. An den Mauern sieht man das nur auf den zweiten Blick, weil es halt nicht aufgesetzt wirkt, aber die Perpektive der einzelnen Steine und ihre Fugen sind perpektivisch immer korrekt. Die großen Einschusslöcher in den Wänden kennt ja jeder, der das Game zockt, aber ich musste meinen Kumpels erstmal erklären, dass das keine echten Löcher (in Bezug auf Geometrie sind), sondern Maps mit parallxen Informationen. Und auf den Keyboards in den Büros sieht es auch echt klasse aus - besonders in Kombination mit dem Normalmapping, meint man wirklich einzelne Tasten zu sehen.


Achtet mal selber drauf, und viel Spaß mit dem Wissen eine neue Mappingtechnik endlich im echten Spieleeinsatz zu haben. ;)

Mr. Lolman
2005-10-23, 21:25:49
Jepp. Schaut echt ziemlich fein aus. Am meisten bin ich aber aufs D³/Quake4 Relief Mapping von der kommenden 3mood Version gespannt.

betasilie
2005-10-23, 21:29:55
Jepp. Schaut echt ziemlich fein aus. Am meisten bin ich aber aufs D³/Quake4 Relief Mapping von der kommenden 3mood Version gespannt.
Hehe, habe mir gerade Pics davon angeguckt. Sieht ganz gut aus, aber ob das auch gut performed?

Gast
2005-10-23, 22:07:59
Mal dezent, und mal sehr ins Auge fallend. An den Mauern sieht man das nur auf den zweiten Blick, weil es halt nicht aufgesetzt wirkt, aber die Perpektive der einzelnen Steine und ihre Fugen sind perpektivisch immer korrekt. Die großen Einschusslöcher in den Wänden kennt ja jeder,

sicher dass die einschusslöcher nicht zumindest teilweise doch echte geometrie sind?

imo kann ich mich daran erinnern dass ich teilweise weggesprengte kanten gesehen habe, was ja ohne echte geometrie nicht gehen würde.

aber du hast natürlich grundsätzlich recht, fear sieht wirklich klasse aus.

betasilie
2005-10-23, 22:14:44
sicher dass die einschusslöcher nicht zumindest teilweise doch echte geometrie sind?

imo kann ich mich daran erinnern dass ich teilweise weggesprengte kanten gesehen habe, was ja ohne echte geometrie nicht gehen würde.

aber du hast natürlich grundsätzlich recht, fear sieht wirklich klasse aus.
Ne, eigentlich sieht man sehr gut, dass es VDM ist, weil man keine Kanten wegsprechen kann. ;) Außerem wird es klar, wenn man sehr nahe rangeht, dann sieht man die typischen Fragmente dieser Technik, oder wenn man aus einem Winkeln von nahezu 0° auf die entsprechende Parallaxmap schaut.

Die Kombination aus VDM und NM sieht halt fast täuschen echt aus bei dieser Anwendung. Habe das auch erst nach ner ganzen Weile erkannt.

3d
2005-10-23, 22:30:11
ääh,
was genau ist paralax mapping?
3d effekt auf einer 2d textur?

wo ist der unterschied zwischen paralax mapping und VDM?

braucht man für das paralax mapping und vdm SM3?

und wo ist der vorteil dieser technik?
benötigt es weniger rechenleistung?

mapel110
2005-10-23, 22:32:09
ääh,
was genau ist paralax mapping?
3d effekt auf einer 2d textur?

wo ist der unterschied zwischen paralax mapping und VDM?

braucht man für das paralax mapping und vdm SM3?

und wo ist der vorteil dieser technik?
benötigt es weniger rechenleistung?
VDM ist Parallax Mapping.

3d
2005-10-23, 22:35:47
achso,
ok
und die anderen fragen?

betasilie
2005-10-23, 23:31:26
ääh,
was genau ist paralax mapping?
3d effekt auf einer 2d textur?
Eine Parallaxmap zeigt dir ein quasi perspektivesch korrektes Abbild, einer Struktur mit Tiefeninformation. Du hast also ein Loch, aber das Loch ist nicht in die Geometrie eingeabreitet, sondern Du siehst nur eine Map, die dir genau die richten Teile der eigentlichen Basistextur zeigt, so dass Du den Eindruck hast echte Geometrie zu sehen.

Wenn Du dich um so eine Parallaxmap bewegst, werden die Fragmente der Basistextur parallax bewegt.

wo ist der unterschied zwischen paralax mapping und VDM?
Parallax Mapping, Virtual-Displacementmapping und Offset-mapping sind das selbe - eine Art des Bumpmappings. Echtes Displacementmapping verändert die Geometrie, was diese Techniken nicht tun.

braucht man für das paralax mapping und vdm SM3?

Nein, das können alle Karten mit SM2.0 Featureset hervorragend.

und wo ist der vorteil dieser technik?
benötigt es weniger rechenleistung?
Man bekommt den Eindruck mehr Geometrie zu haben. Echte Polygone verbrauchen mehr Leistung.

RLZ
2005-10-23, 23:33:45
was genau ist paralax mapping?
3d effekt auf einer 2d textur?
Das Versetzen des Samplepunktes der Texturen aufgrund von zusätzlichen Höhendaten.
Parallaxmapping ist kein fester Algo, sondern reicht von einfachen Heuristiken bis zu Raycasting in einer Heightmap.

braucht man für das paralax mapping und vdm SM3?
Nein.
Bietet je nachdem welches Parallaxmapping man nutzt erhebliche Geschwindigkeitsvorteile.
Einfaches Parallaxmapping funktioniert mit wenigen Befehlen in 2.0er Shadern.

und wo ist der vorteil dieser technik?
benötigt es weniger rechenleistung?
Man kann komplexe feine 2D-Strukturen durch einfache Heightmaps ersetzen und spart sich dadurch unzählige Polygone. Nachteil sind Artefakte bei Rändern und Schnittlinien.

Edit:
Hier mal aus der ATi-SDK
Parallax Occlusion Mapping:
http://img402.imageshack.us/img402/374/asd3nl.jpg

Ohne Höheninformation = Bumpmapping:
http://img402.imageshack.us/img402/5895/asd27dj.jpg

3d
2005-10-23, 23:50:15
danke für die aufklärung.
leider hab ich fear noch nicht.

ist der tiefeneffekt auch von der seite sichtbar?
bis zu welchen winkel sieht es "gut" aus.

bilder sind immer gut :smile:
würde mich noch interessieren, wie die textur pur aussieht.
also ohne bumpmapping.

Spasstiger
2005-10-23, 23:58:10
ist der tiefeneffekt auch von der seite sichtbar?
bis zu welchen winkel sieht es "gut" aus.
Nein, ich würde sagen, bis ca. 10° Neigung dürfte noch eine Illusion vorhanden sein. Sobald man halt sieht, dass es Fake ist, verschwindet die Illusion, auch wenn man wieder in den 10° Winkel zurückgehen würde.
Aber bei 45° Winkeln siehts spitze aus.

3d
2005-10-24, 00:12:10
angenommen, da sitzt eine fliege (schwarz eingezeichnet)
würde die fliege verdeckt werden?

san.salvador
2005-10-24, 00:14:01
Hat mal jemand ein paar Screenshots von Fear, die das gut veranschaulichen?

betasilie
2005-10-24, 00:15:15
angenommen, da sitzt eine fliege (schwarz eingezeichnet)
würde die fliege verdeckt werden?
Nein, auf dem Bild mit der Parallaxmap können Objekte nicht verdeckt werden, weil sie nicht Teil der Textur sind.

RLZ
2005-10-24, 00:15:23
ist der tiefeneffekt auch von der seite sichtbar?
bis zu welchen winkel sieht es "gut" aus.
Das hängt davon ob ab, wie genau es realisiert wurde und wie der Content beschaffen ist. Die "billigen" (im Sinne von Rechenleistung) Methoden sind für schräge Winkel wesentlich anfälliger, da nur ungefähr abgeschätzt wird wie weit der Samplepunkt versetzt wird.

POM ist da schon relativ unanfällig:
http://img366.imageshack.us/img366/2403/asd35xq.jpg
http://img366.imageshack.us/img366/9657/asd46wp.jpg

würde mich noch interessieren, wie die textur pur aussieht.
also ohne bumpmapping.
Naja das kann man sich vom Bumpmappingbild doch aus doch eigentlich gut vorstellen.


würde die fliege verdeckt werden?
Nein.

aths
2005-10-24, 00:15:37
Parallax Mapping, Virtual-Displacementmapping und Offset-mapping sind das selbe - eine Art des Bumpmappings. Echtes Displacementmapping verändert die Geometrie, was diese Techniken nicht tun.Für Parallaxmapping gibt es unterschiedliche Implementierungen. Einige sind besser (exakter, mit Self Shadowing, ...) und dafür aufwändiger in der Berechnung.

Nein, das können alle Karten mit SM2.0 Featureset hervorragend.Ja, aber nur das "einfache" Parallaxmapping. Einige aufwändigere Varianten benötigen SM3, und qualitativ besonders gute laufen auf heutiger SM3-Hardware teilweise kaum in Echtzeitperformance.

betasilie
2005-10-24, 00:21:50
Für Parallaxmapping gibt es unterschiedliche Implementierungen. Einige sind besser (genauer, mit Self Shadowing, ...) und dafür aufwändiger in der Berechnung.

Ja, aber nur das "einfache" Parallaxmapping. Einige aufwändigere Varianten benötigen SM3, und qualitativ besonders gute laufen auf heutiger SM3-Hardware teilweise kaum in Echtzeitperformance.
Ok, das ist klar. Wäre ja blöd, wenn das nicht der Fall wäre und aufwendiger geht es immer. Ich bin jedenfalls erstmal froh, wenn ein Studio beginnt solche Techniken wirklich in Spielen einzusetzen, denn dafür sind die Karten ja da. Ein Spiel ist imo die beste Grafikdemo und stellt den Beweiß, dass die entsprechende Technik performant eingesetzt werden kann.

Das mit dem Selfshadowing ist ne feine Sache, habe da schon ein paar Bilder gesehen, die das anschaulich zeigen.

aths
2005-10-24, 00:24:52
Ok, das ist klar. Wäre ja blöd, wenn das nicht der Fall wäre. Ich bin jedenfalls erstmal froh, wenn ein Studio beginnt solche Techniken wirklich in Spielen einzusetzen, denn dafür sind die Karten ja da. Ein Spiel ist imo die beste Grafikdemo und stellt den Beweiß, dass die entsprechende Technik performant eingesetzt werden kann.

Das mit dem Selfshadowing ist ne feine Sache, habe da schon ein paar Bilder gesehen, die das anschaulich zeigen.Beweis mit s.

Parallax Mapping ist die natürliche Weiterentwicklung von Dot3 Bumpmapping. Die Unreal-3-Engine hat Parallax Mapping gleich mit eingeplant, aber je eher Spiele kommen die das unterstützen, desto besser.

Man muss sich darüber im klaren sein, dass die Parallaxmapping-Techniken, die auf heutiger Hardware echtzeitfähig sind, unter vielen Beschränkungen leiden. Man kann "geparallaxmappte" Wände nicht immer und überall einsetzen, bzw. darf man es mit dem Tiefeneffekt nicht übertreiben. Dennoch ist die Technik sehr gut geeignet, um raue Mauern einigermaßen glaubwürdig herüberzubringen, ohne die Graka mittels Geometrie-Aufkommen zu killen.

betasilie
2005-10-24, 00:32:08
Beweis mit s.

Parallax Mapping ist die natürliche Weiterentwicklung von Dot3 Bumpmapping. Die Unreal-3-Engine hat Parallax Mapping gleich mit eingeplant, aber je eher Spiele kommen die das unterstützen, desto besser.

Man muss sich darüber im klaren sein, dass die Parallaxmapping-Techniken, die auf heutiger Hardware echtzeitfähig sind, unter vielen Beschränkungen leiden. Man kann "geparallaxmappte" Wände nicht immer und überall einsetzen, bzw. darf man es mit dem Tiefeneffekt nicht übertreiben. Dennoch ist die Technik sehr gut geeignet, um raue Mauern einigermaßen glaubwürdig herüberzubringen, ohne die Graka mittels Geometrie-Aufkommen zu killen.
Ja, die Einsatzfähigkeit unterliegt natürlich gewissen Beschränkungen. Negative Strukturen kann man recht großzügig einsetzen, aber insbesondere bei postiven Strukturen darf man nicht übertreiben, oder aber nur an Stellen, wo der Kameravektor nie zu flach wird. In FEAR sieht man aber imo sehr gut, dass es bis zu einem Gewissen Maße eine sehr gute Illusion erzeugt, und auch komplexere und tiefere Strukturen, als nur eine rauhe Mauer, funktionieren.

Was die UE3; angeht da habe ich schon bei den ersten Screenshots bemerkt, dass eigentlich bei jedem Modell Parallax Mapping eingesetzt wird. Das wird bestimmt umwerfend aussehen in Bewegung.


Edit:
Bei den Tastaturen ist sind die Tastenblöcke natürlich aus Polygonen und auf denen Blöcken liegen dann negative Parallax Maps. Nur mit einer positiven PM wäre das z.B. so eine Einschränkung und es hätte die Illusion zerstört.

Spasstiger
2005-10-24, 00:36:27
Serious Sam 2 hat auf den Models und den Objekten auch schickes Parallax Mapping. Zusammen mit den hochauflösenden Umgebungstexturen sieht das echt gut aus.

Mr. Lolman
2005-10-24, 01:05:25
Reliefmapping :uhippie:

http://img461.imageshack.us/img461/2926/reliefmapping1vg.gif (http://fabio.policarpo.nom.br/relief/index.htm)

Coda
2005-10-24, 02:16:12
Vergiss es. Wenn du da AAA oder TSSAA aktivierst ist deine Performance im tiefsten Keller (texkill) und ansonsten hast du hässliches aliasing an den "Kanten".

Jules
2005-10-24, 05:25:43
sollte die HL² engine nicht mal displacement mapping können.
soweit ich mich erinnern kann, wurde doch mal ne demo gezeigt wie
echtes displacement mapping aus dem boden rauskam.

würd mich ja mal brennend interessieren wann diese technik marktreif wird.
ich mag diese ganzen verarschungs texturen nicht.

obwohl die einschuss löcher eigentlich recht gut gelungen sind.

EDIT: das obengezeigt bild sieht klasse aus.

Xmas
2005-10-24, 10:35:02
angenommen, da sitzt eine fliege (schwarz eingezeichnet)
würde die fliege verdeckt werden?
Kommt drauf an welche Methode verwendet wird. Es gibt auch Z-korrektes Parallax-Mapping. Das kostet allerdings wieder deutlich mehr Leistung (kein Early-Z-Culling mehr möglich), und die Kanten innerhalb des Polygons werden nicht geglättet.

BlackBirdSR
2005-10-24, 10:53:33
Kommt drauf an welche Methode verwendet wird. Es gibt auch Z-korrektes Parallax-Mapping. Das kostet allerdings wieder deutlich mehr Leistung (kein Early-Z-Culling mehr möglich), und die Kanten innerhalb des Polygons werden nicht geglättet.


wäre da echtes Displacement-Mapping nicht langsam billiger/effektiver?

Generell eine Frage: Warum werden so viele Details nun generell mit Hilfe von Pixelshadern erzeugt und dem Betrachter Geometrie vorgetrickst?
Die Geometrieleistung ist für mich als aussenstehenden Betrachter doch geradezu explodiert?!?

Demirug
2005-10-24, 10:59:38
wäre da echtes Displacement-Mapping nicht langsam billiger/effektiver?

Generell eine Frage: Warum werden so viele Details nun generell mit Hilfe von Pixelshadern erzeugt und dem Betrachter Geometrie vorgetrickst?
Die Geometrieleistung ist für mich als aussenstehenden Betrachter doch geradezu explodiert?!?

Rasterisierer werden verdammt ineffektiv wenn die Dreiecke zu klein werden.

Zudem gibt es sowieso keine aktuelle GPU die für echtes Displacement Mapping taugt.

BlackBirdSR
2005-10-24, 11:03:01
Rasterisierer werden verdammt ineffektiv wenn die Dreiecke zu klein werden.

Zudem gibt es sowieso keine aktuelle GPU die für echtes Displacement Mapping taugt.

Heisst das, dass wir deshalb in naher Zukunft trotzdem keinen sprunghaften Ansteig an Polygonen erwarten dürfen`?

Dass aktuelle CPUs für DM ziemlich unnütz sind war klar. Ich habe mich nur gefragt, ob es nicht intelligenter wäre, und deshalb vollständig implementiert hätte werden sollen?

Xmas
2005-10-24, 11:10:53
wäre da echtes Displacement-Mapping nicht langsam billiger/effektiver?

Generell eine Frage: Warum werden so viele Details nun generell mit Hilfe von Pixelshadern erzeugt und dem Betrachter Geometrie vorgetrickst?
Die Geometrieleistung ist für mich als aussenstehenden Betrachter doch geradezu explodiert?!?
Kleine Dreiecke verursachen viel mehr Verschnitt und drücken so die Effizienz der Pixelpipeline ganz gewaltig. Die Geometrieleistung ist auch gar nicht so extrem gestiegen. Bezogen auf GeForce3 beispielsweise haben wir heute die achtfache Zahl an Shadereinheiten und den doppelten bis dreifachen Takt. Ein Würfel mit 8 Eckpunkten kann also nun vielleicht durch ein Objekt mit 128 bis 192 Eckpunkten ersetzt werden. Zerlegt man die Seitenflächen des Würfels in 5x5 Quadrate, erhält man schon 152 Eckpunkte. Und 5x5 ist noch viel zu wenig für überzeugendes Displacement Mapping.

Für vernünftiges Displacement Mapping braucht es adaptive Tessellation in Hardware.

Godmode
2005-10-24, 11:12:30
Rasterisierer werden verdammt ineffektiv wenn die Dreiecke zu klein werden.


Das ist schade, weil ich denke die Bild-Graphikqualität würde von mehr Polygonen viel mehr profitieren, also von irgendwelchen Textureffekten.

Monger
2005-10-24, 11:27:48
Das ist schade, weil ich denke die Bild-Graphikqualität würde von mehr Polygonen viel mehr profitieren, also von irgendwelchen Textureffekten.

Um Textureffekte wird man wohl nicht herum kommen. Um vergleichbare Effekte mit echter Geometrie zu machen, bräuchte man wesentlich mehr Dreiecke als Pixel auf dem Bildschirm.

Das macht imho logisch keinen Sinn. Wozu die selbe Informationsmenge mit einem gewaltigen Overhead produzieren, wenn es auch billiger geht?

deekey777
2005-10-24, 13:00:57
sollte die HL² engine nicht mal displacement mapping können.
soweit ich mich erinnern kann, wurde doch mal ne demo gezeigt wie
echtes displacement mapping aus dem boden rauskam.

würd mich ja mal brennend interessieren wann diese technik marktreif wird.
ich mag diese ganzen verarschungs texturen nicht.

obwohl die einschuss löcher eigentlich recht gut gelungen sind.

EDIT: das obengezeigt bild sieht klasse aus.

http://www.valvesoftware.com/sourcelicense/SOURCE_InfoSheet_Q!01a.FINAL.pdf
Die uralte Version:
http://www.valvesoftware.com/SOURCE_InfoSheet.pdf

In HL2 wird das Parallax Mapping nicht benutzt.

Mrs. Lolman
2005-10-24, 13:22:36
Rasterisierer werden verdammt ineffektiv wenn die Dreiecke zu klein werden.


Beim R520 sollte (iirc) das Problem aber nicht so heftig wie beim G70 auftreten.

Demirug
2005-10-24, 13:34:38
Beim R520 sollte (iirc) das Problem aber nicht so heftig wie beim G70 auftreten.

Das hat nichts mit der Batchgröße zu tun.

betasilie
2005-10-24, 15:53:21
Heisst das, dass wir deshalb in naher Zukunft trotzdem keinen sprunghaften Ansteig an Polygonen erwarten dürfen`?
Wir sehen ja mehr Polygone, nur ist es imo sinnvoll, wenn man die Polygone da verbaut, wo sie sinnvoll bzw. unverzichtbar sind. Gerade was die Kollisionabfage angeht, gibt es ja Einschränkungen. Von daher ist es sinnvoll soviel Polygone zu verbauen an den entsprechenden Stellen wie es die aktuelle Hardware zulässt, und trotzdem noch die PS auslastet mit VDM und solche Sachen, gerade an Stellen, wo der Unterschied zwischen Polygonen und VDM nicht wirklich erkennbar ist. Man muss ja nicht die entweder oder Schiene fahren, denn Die Kombination ist doch wünschenswert.

In FEAR z.B. sind ja trotz VDM massig Poylgone verbaut. :)

micki
2005-10-24, 17:05:58
naja, kollisionsberechnungen führt man oft an dummyobjekten durch, nicht nur weil die weniger detail benötigen, oft auch damit z.b. explosionen vor einer wand passieren und nicht mitten reinschneiden (bei größeren animierten particlen).

ich hab FEAR zwar noch nicht gezoggt, aber soweit ich bisher gesehen habe sind die räume sehr lowpoly. meistens sind es axis-aligned-planes die alles bilden, das komplexeste wäre sowas: http://compactiongames.about.com/library/screenshots/blscreen_fearscr10.htm was ich bisher finde, das einfachste: http://media.pc.ign.com/media/681/681912/img_3129683.html . natürlich haben die bots und particle viel geometrie, aber die level nicht.

btw. das tolle an parallaxmapping ist, dass es automatisch im detail skaliert. etwas was weit entfernt ist, hat halt nur 20pixel und zieht kaum rechenzeit und etwas fullscreen zieht entsprechend immens performance, aber das ganze, sogar texture-mipmapping, läuft auf der karte ab, während man/cpu bei geometrie alles "per hand" machen _muss_, das umschalten, das blenden, das resourcemanagement.

MfG
micki

MadManniMan
2005-10-26, 02:44:03
Wie schauts jetzt aus mit FEAR-VDM-Pics? Ich kann mir das Spiel die nächsten Wochen noch nicht besorgen, bitte :)