Archiv verlassen und diese Seite im Standarddesign anzeigen : Virtual Displacement Mapping
Laut Golem (http://golem.de/0404/30809.html) wird das ganze in der U3-Engine und auch bei FarCry mit Shader 3.0 eingesetzt.
Allerdings findet man irgendwie nichts was das genau ist. Die bisherigen Bilder von FarCry mit dem dem "DisplacementMapping" sahen für mich eigenlich schon fast nur nach Parallaxmapping+Bumpmapping aus....
Hat also irgendeiner Ahnung was die mit ihrem Virtual Displacement Mapping meinen? Und welche Displacementvarianten ausser echter Tesselierung gibt überhaupt?
Chris Lux
2004-04-15, 14:30:21
Das erste mal habe ich hier davon gelesen:
http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/011292.html
Scheinbar brachte dieser Thread den Stein für viele ins Rollen, so auch den Humus (wer kennt ihn nicht ;))
http://esprit.campus.luth.se/~humus/
Schau hier nach der Self shadowing bumpmapping Demo, dort hat er diese Technik genutzt.
HTH
Die Links kenn ich beide ;) Bei Beyond3d gabs auch einen dazu.
Da gehts aber nur Parallaxmapping + Bumpmapping.
Humus hat es dann noch mit Horizontalmapping kombiniert, was allerdings einen hohen Speicherplatzbedarf verursacht....
Beides ist allerdings kaum als Displacementmapping zu bezeichnen.
Parallaxmapping ist ausserdem auch nur für bestimmte Frequenzen zu gebrauchen.
Chris Lux
2004-04-15, 15:33:35
horozonmapping ist nur zuständig für das selfshadowing von bumpmaps (besser gesagt heigthmaps).
IMO hat sich Epic nur nen neuen namen für die technik ausgedacht, es sollte diese technik sein.
Gastserus
2004-04-20, 11:16:41
ich hab die beschreibung während des u3 videos auch so aufgenommen, dass es da um die gleiche technik mit neuem namen geht. Macht halt mehr her, wenn man die technik durch den namen mit echtem displacementmappig vergleicht :)
Original geschrieben von Gastserus
ich hab die beschreibung während des u3 videos auch so aufgenommen, dass es da um die gleiche technik mit neuem namen geht. Macht halt mehr her, wenn man die technik durch den namen mit echtem displacementmappig vergleicht :) So ist es, jeder nennt es anders, das Prinzip ist jeweils das gleiche.
Original geschrieben von aths
So ist es, jeder nennt es anders, das Prinzip ist jeweils das gleiche.
Naja anders bezeichnen ist ja gut und schön, aber eigentlich ists reine Augenwischerei. Sie könnten das Kind ja beim Namen nennen. Schlechter wirds ja nicht dadurch. Aber sie profitieren lieber mal von DisplacementMapping Hype....
Damals wurde Bumpmapping aber ja auch genauso als Geometrieersatz dargestellt. Hier ists wenigstens unter bestimmten Bedingungen ein geeigneter Ersatz.
Original geschrieben von RLZ
Hier ists wenigstens unter bestimmten Bedingungen ein geeigneter Ersatz. Ja, eingeschränkt auf alles, was sich mit 2D-Heightmaps modellieren lässt. Gegenüber Bumpmapping natürlich ein guter Fortschritt.
Original geschrieben von aths
Ja, eingeschränkt auf alles, was sich mit 2D-Heightmaps modellieren lässt. Gegenüber Bumpmapping natürlich ein guter Fortschritt.
Naja mit so kleinen Nebenbedingungen wie nicht zu hohe Frequenz der Heightmap und leichten Artefakten bei zu flacher Draufsicht und an den Rändern.
Da man aber beim Modellieren darauf aufpassen wird isses schon ok :)
Ausserdem solang man keinen Vergleichbild hats fällts meistens nicht auf.
Schatten sind ja auch so ein Problem :(
Wie wird eigentlich normal eine Horizontalmap beschrieben?
edit: weil nid ganz richtig ausgedrückt
Konkret fällt mir da nur eine Speichern des Horizonts für jede Richtung für jeden Pixel in einer quantisierten oberen Hemisphere.
Original geschrieben von RLZ
Naja mit so kleinen Nebenbedingungen wie nicht zu hohe Frequenz der Heightmap und leichten Artefakten bei zu flacher Draufsicht und an den Rändern. Das ist bei herkömmlichem Bumpmapping ja nicht anders :)
Original geschrieben von RLZ
Schatten sind ja auch so ein Problem :(
Wie wird eigentlich normal eine Horizontalmap beschrieben?Da habe ich keine Ahnung.
DanMan
2004-05-17, 01:35:34
Original geschrieben von RLZ
Wie wird eigentlich normal eine Horizontalmap beschrieben?
http://research.microsoft.com/~cohen/bs.pdf
Aus dem Thread den Hans Ohlo verlinkt hat. Hoffe das ist was du suchst.
Corrail
2004-05-17, 12:44:42
Habe hier ein Beispiel geschrieben, wo man genau den Unterschied zwischen normalem Bump Mapping und Parallax Bump Mapping (Virtual Displacement Mapping) sehen kann:
http://mitarbeiter.kjk.cc/rudolf/OGL/ParallaxMapping.zip
Das Demo verwendet GLSL, also man braucht die neuesten Treiber (Catalyst 4.5 oder ForceWare 61.12).
Mit linker Maustaste und Mausbewegung kann man das Objekt rotieren lassen.
Mit 'b' kann man zwischen normalem Bump Mapping und Parallax Bump Mapping herumschalten (standart ist Bump Mapping).
Man merkt schnell die Vor- und Nachteile von der Technologie.
Original geschrieben von DanMan
http://research.microsoft.com/~cohen/bs.pdf
Aus dem Thread den Hans Ohlo verlinkt hat. Hoffe das ist was du suchst.
Jop danke.
avalanche
2004-05-17, 17:30:35
Wie wird "Parallax Bump Mapping" eigentlich realisiert? AFAIK wird das 'normale' "Bump Mapping" doch über eine Texture-Op verrechnet. Verhält sich das mit "Parallax Bump Mapping" ähnlich, oder muss man da mit'm "Shader" ran?
EDIT: Ein "nicht" zuviel.
Corrail
2004-05-17, 17:44:40
Original geschrieben von avalanche
Wie wird "Parallax Bump Mapping" eigentlich realisiert? AFAIK wird das 'normale' "Bump Mapping" doch über eine Texture-Op verrechnet. Verhält sich das mit "Parallax Bump Mapping" ähnlich, oder muss man da mit'm "Shader" ran?
EDIT: Ein "nicht" zuviel.
Also, das ganze funktioniert vereinfacht so:
Du sampelst mit der "normalen" Texturekoordinate einmal eine Height-Map. Aufgrund der gewonnen Höheninformation wird einen neue Texturkoordinate erzeugt (abhängig vom Vektor vom Pixel zur Kamera) und mit der neuen Texturkoordinate wird dann die entgültige die Normal Map und die Color Map gesampelt.
Hier wird das genau beschrieben:
http://www.infiscape.com/doc/parallax_mapping.pdf
Du brauchst auf jeden Fall DirectX 8 Hardware (dependent texture read). In OpenGL lässt sich das am einfachsten mit einem Shader realisieren obwohl bei NV register combiner bzw. bei ATI fragment shader (DX8 Extensions) auch möglich sind.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.