PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mapping-Techniken


Monger
2005-04-24, 16:20:35
Inzwischen hab ich einigermaßen verstanden, was Bump Mapping ist, aber ich komm mit den vielen anderen Begriffen nicht zurecht...

Normal Mapping ist doch eigentlich nur ein Überbegriff für alle Normalenmanipulationen, wie eben Bump Mapping, oder?

Was ist Virtual Displacement Mapping, bzw. wie funktioniert denn Displacement Mapping überhaupt?

Und was genau wird in Splinter Cell - Chaos Theory verwendet, und warum funktioniert es nur auf Geforce6xxx Karten?

Kladderadatsch
2005-04-24, 16:46:25
zumindest zu sc3 kann ich dir imo die richtige antwort geben.
das, was geforce6-karten dort ausspielen können, ist ihre sm3-fähigkeit.
und sm3/ps3 (den unterschied habe ich auch noch nicht verstanden) wiederum unterscheidet sich von den niedrigeren versionen durch die (mögliche) länge der shader, welche somit komplexer werden, also "bessere" effekte bringen- IMO.

Spasstiger
2005-04-24, 16:57:40
Bump-Mapping ist der Überbegriff für Techniken, die Tiefe in einer eigentlich flachen Textur vortäuschen (es gab aber auch ganz konkrete Techniken, die den Namen Bumpmapping trugen).

Normal-Mapping ist eine spezielle Form, wo eben jeder Punkt der Oberfläche einen Normalenvektor zugewiesen bekommt, so dass die Oberfläche realistischer beleuchtet werden kann.

Virtual Displacement Mapping ist eigentlich nur ein Modewort, der technische Begriff lautet Offset-Mapping oder Parallax-Mapping. Dabei ordnet eine Heightmap jedem Punkt der Oberfläche eine Höhe zu, die dann in die Berechnungen einbezogen wird. So kann ein höhergelegener Punkt einer Oberfläche einen tieferliegenden Punkt überdecken. Dadurch entsteht ein sehr guter Tiefeneffekt, der erst dann versagt, wenn man die Oberfläche von der Seite betrachtet. Offset-Mapping/Parallax-Mapping hat nichts mit Normal-Mapping zu tun, da bei Offset-Mapping nicht berechnet wird, wie die Oberfläche beleuchtet wird (afaik).

Monger
2005-04-24, 17:45:22
Virtual Displacement Mapping ist eigentlich nur ein Modewort, der technische Begriff lautet Offset-Mapping oder Parallax-Mapping. Dabei ordnet eine Heightmap jedem Punkt der Oberfläche eine Höhe zu, die dann in die Berechnungen einbezogen wird. So kann ein höhergelegener Punkt einer Oberfläche einen tieferliegenden Punkt überdecken. Dadurch entsteht ein sehr guter Tiefeneffekt, der erst dann versagt, wenn man die Oberfläche von der Seite betrachtet. Offset-Mapping/Parallax-Mapping hat nichts mit Normal-Mapping zu tun, da bei Offset-Mapping nicht berechnet wird, wie die Oberfläche beleuchtet wird (afaik).

Ah, manipuliert Parallax Mapping also sozusagen nur am Z Puffer jedes Pixels rum?

Die Unreal Engine 3 wirbt ja mit "Virtual Displacement Mapping", und ich hätte geglaubt, dass da selbst an den Rändern betrachtet sich nicht der Effekt verliert. Es gab da z.B. in einem Video das Beispiel mit der gemauerten Wand, wo man ganz klar die Lücken zwischen den Steinen erkennen konnte, obwohl die Geometrie völlig flach war...
Habe ich mich da verguckt, oder arbeiten die noch mit irgendwelchen Tricks?

Spasstiger
2005-04-24, 18:10:17
Ah, manipuliert Parallax Mapping also sozusagen nur am Z Puffer jedes Pixels rum?

Die Unreal Engine 3 wirbt ja mit "Virtual Displacement Mapping", und ich hätte geglaubt, dass da selbst an den Rändern betrachtet sich nicht der Effekt verliert. Es gab da z.B. in einem Video das Beispiel mit der gemauerten Wand, wo man ganz klar die Lücken zwischen den Steinen erkennen konnte, obwohl die Geometrie völlig flach war...
Habe ich mich da verguckt, oder arbeiten die noch mit irgendwelchen Tricks?

Wie man im ersten Video zur UE3 gesehen hat, mischen die da ab und zu echte Geometrie mit rein.
Mit Offset-Mapping alleine ist es jedenfalls nicht möglich, dass Geometrie auch von der Seite aus gesehen in den Raum raussteht.

Xmas
2005-04-24, 18:35:34
Ah, manipuliert Parallax Mapping also sozusagen nur am Z Puffer jedes Pixels rum?
Nein, der Z-Wert wird in der Regel nicht verändert, das kostet zu viel Leistung und ist meist unnötig.

Die Unreal Engine 3 wirbt ja mit "Virtual Displacement Mapping", und ich hätte geglaubt, dass da selbst an den Rändern betrachtet sich nicht der Effekt verliert. Es gab da z.B. in einem Video das Beispiel mit der gemauerten Wand, wo man ganz klar die Lücken zwischen den Steinen erkennen konnte, obwohl die Geometrie völlig flach war...
Habe ich mich da verguckt, oder arbeiten die noch mit irgendwelchen Tricks?
Meinst du jetzt, du siehst innerhalb der Fläche die Fugen der Mauern räumlich, oder auch deren Silhouette?

Letzteres ist reichlich aufwändig, ich glaube nicht dass die UE3 das macht.


Das Offset-Mapping in SC3 funktioniert nur auf PS3.0-fähigen Karten, weil es keinen PS2.0-Pfad gibt. Es wäre aber technisch auch auf PS2.0-Karten möglich.

Demirug
2005-04-24, 18:40:20
Monger, am Z-Buffer wird da nichts verändert und der räumliche eindruck entsteht eben durch den Parallax Effekt. Man täuchst da das Auge indem man die Beleuchtung so rechnet als hätte die Stellen einen anderen Winkel.

Allerdings ist auch Parallax Mapping schon wieder nicht mehr der letzte Schrei. Das neuste auf dem Gebiet ist "Steep Parallax Mapping" (http://graphics.cs.brown.edu/games/SteepParallax/)

Das schöne dabei ist das man die gleichen Texturedaten die man für Parallax Mapping braucht durch einen anderen Shader Steep Parallax Mapping machen kann.

insane in the membrane, die Effekte in SC3 wären auch mit SM2 möglich. Wäre nur mehr Aufwand für die Entwickler gewesen. Und da Zeit gleich Geld ist und die SCX Engine ja eine Konsolen Engine ist (Konsolen kennen ja nur SM1.1 und SM3 ähnliche Dingen) war eine SM2 implementierung aus kaufmänicher Sicht nicht interesant.

Kladderadatsch
2005-04-24, 18:47:26
insane in the membrane, die Effekte in SC3 wären auch mit SM2 möglich. Wäre nur mehr Aufwand für die Entwickler gewesen. Und da Zeit gleich Geld ist und die SCX Engine ja eine Konsolen Engine ist (Konsolen kennen ja nur SM1.1 und SM3 ähnliche Dingen) war eine SM2 implementierung aus kaufmänicher Sicht nicht interesant.

auch wenn (wie ich gerade erst bemerkt habe) meine antwort mit der frage gar nichts zu tun hat: hab ich keinen scharm erzählt?;)

oder ist xxx-mapping doch von der shader-version abhängig, sodass displacement mapping z.b. mit ps1.1-grafikkarten nicht möglich ist?

Demirug
2005-04-24, 18:57:14
auch wenn (wie ich gerade erst bemerkt habe) meine antwort mit der frage gar nichts zu tun hat: hab ich keinen scharm erzählt?;)

oder ist xxx-mapping doch von der shader-version abhängig, sodass displacement mapping z.b. mit ps1.1-grafikkarten nicht möglich ist?

Spontan würde mit keine Lösung für Parallax Mapping mit SM1.1 einfallen. Ich habe auch noch keine gesehen.

Das Shadermodel spielt also schon noch einen Rolle dabei welchen Effekt man implementieren kann.

Spasstiger
2005-04-24, 19:04:18
Allerdings ist auch Parallax Mapping schon wieder nicht mehr der letzte Schrei. Das neuste auf dem Gebiet ist "Steep Parallax Mapping" (http://graphics.cs.brown.edu/games/SteepParallax/)

Gibts dazu auch eine Realtime-Demo oder eine Implementation für eine Shadertool?
Da ist zwar der Shader dabei, ich bin aber nicht besonders bewandert auf diesem Gebiet.

Monger
2005-04-24, 19:25:14
Monger, am Z-Buffer wird da nichts verändert und der räumliche eindruck entsteht eben durch den Parallax Effekt. Man täuchst da das Auge indem man die Beleuchtung so rechnet als hätte die Stellen einen anderen Winkel.

Jetzt bin ich verwirrt: Wo liegt denn da der Unterschied zu Normal Mapping ?!?

Vorher hatte mir das gerade noch so eingeleuchtet: die Parallax Map sorgt dafür, dass bestimmte Pixel vor anderen gerendert werden, um einen Tiefeneindruck zu vermitteln.
Wie sonst, wenn nicht über Manipulation des Z-Puffers soll denn das gehen?

Xmas
2005-04-24, 21:58:08
Jetzt bin ich verwirrt: Wo liegt denn da der Unterschied zu Normal Mapping ?!?

Vorher hatte mir das gerade noch so eingeleuchtet: die Parallax Map sorgt dafür, dass bestimmte Pixel vor anderen gerendert werden, um einen Tiefeneindruck zu vermitteln.
Wie sonst, wenn nicht über Manipulation des Z-Puffers soll denn das gehen?
Normal Mapping ändert nur die Beleuchtung, es ändert aber nichts daran dass die Texel linear auf die Oberfläche gemappt werden, sprich es gibt kein Parallax, herausstehende Oberflächenmerkmale können dahinterliegende nicht verdecken.

Parallax Mapping und ähnliche Methoden versuchen vereinfacht gesagt anhand der Höheninformationen und des Blickwinkels herauszufinden, auf welchen Texel man tatsächlich blickt.

Was sollte die Manipulation des Z-Buffers denn bringen? Da wird nur der Tiefenwert abgelegt. Den Z-Wert zu ändern bewirkt keine Änderung beim Texturieren.

Den exakten Z-Wert braucht man nur, damit schneidende Polygone realistisch überdecken und überdeckt werden. Gibt es keine Polygone, die die Oberfläche schneiden, dann braucht man auch den Z-Wert nicht zu manipulieren.

Mantikor
2005-04-24, 22:16:37
Und da Zeit gleich Geld ist und die SCX Engine ja eine Konsolen Engine ist (Konsolen kennen ja nur SM1.1 und SM3 ähnliche Dingen) war eine SM2 implementierung aus kaufmänicher Sicht nicht interesant.

Kannst du so nett sein und das bitte kurz ausführlicher niederschreiben? :)

Mfg der Mantikor

Gast
2005-04-25, 10:22:56
auf der breakpoint dieses jahr gab es ein paar seminare, eines davon über normalmapping. vielleicht ist das ja interessant für ein paar von euch (140mb xvid)
ftp://ftp.untergrund.net/2005/after_the_party/seminars/bp05_seminars_-_Clemens_Peci_Pecinovsky_-_Normalmapping_-_problems_and_solutions_-_xvid.avi

dort gibt es btw auch noch andere :
ftp://ftp.untergrund.net/2005/after_the_party/seminars/

Demirug
2005-04-25, 10:33:22
Kannst du so nett sein und das bitte kurz ausführlicher niederschreiben? :)

Mfg der Mantikor

Ich bezog mich auf die kommenden Konsolen von Sony und Microsoft.

Mantikor
2005-04-26, 15:23:39
Ich bezog mich auf die kommenden Konsolen von Sony und Microsoft.

Achso, sorry. :hammer:

Mfg der Mantikor

aths
2005-04-26, 16:29:53
Allerdings ist auch Parallax Mapping schon wieder nicht mehr der letzte Schrei. Das neuste auf dem Gebiet ist "Steep Parallax Mapping" (http://graphics.cs.brown.edu/games/SteepParallax/)Ist das mehr als Offset-Mapping mit Shadow Casting? Da gibts doch unter anderem vom Humus schon länger Demos.

Gast
2005-04-26, 16:30:34
Allerdings ist auch Parallax Mapping schon wieder nicht mehr der letzte Schrei. Das neuste auf dem Gebiet ist "Steep Parallax Mapping" (http://graphics.cs.brown.edu/games/SteepParallax/)




sieht interessant aus aber kann es sein dass da jemand seine methode besonders hervorheben will ;)

imo ist normalerweise der unterschied zwischen normal-mapping und parallax-mapping in den realen spielen die ich bisher gesehen habe wesentlich größer als auf den vergleichsbildern dargestellt.

G!ZMo
2005-05-01, 20:10:11
Gibts dazu auch eine Realtime-Demo oder eine Implementation für eine Shadertool?
Da ist zwar der Shader dabei, ich bin aber nicht besonders bewandert auf diesem Gebiet.

http://www.frustum.org/3d/data/39/displacement_small_gray.jpg (http://www.frustum.org/3d/imageview.php?i=39/displacement.jpg)

klick (http://www.frustum.org/3d/download.php?f=39/DisplacementTexture.tar.gz)

maybe das? :confused:

Coda
2005-05-01, 20:12:59
Das sieht aber sehr sehr rauschig aus. Steep Parallax ist eigentlich besser.

Gast
2005-05-01, 23:50:47
Steep Parallax sieht ja mal echt gut aus, obwohl das normale OffsetMapping in dem Beispiel auch besser aussehen könnte.

Ich denke allerdings man sollte es mit der Tiefe übertreiben, ansonsten wirkt die Oberläche schnell räumlich negativ oder verzerrt, wenn der Betrachtungswinkel zu flach wird.

Konsolenfreund

Niall
2005-05-22, 17:55:54
Vor allem "passt" die Diffusemap irgendwann nicht mehr, soll heißen sie wirkt durch zu hohe Offsets verzerrt und irgendwie metallisch an den... naja ich sag mal "Seiten-Flächen", da diese ja im Normalfall gar keine Texturkoordinaten haben... AfaIk

gruß, Niall