PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen über Fragen: Bump Mapping


adrenalin82
2005-11-28, 16:35:28
Hallo zusammen.
Ich schreibe grade ein größeres Referat über Bump Mapping und habe einige Fragen. Hoffe ihr könnt mir helfen.

Also verstanden hab ich, dass es 3 Arten der Impementierung gibt: Emboss, Dot Product und Environmental.
Sind diese 3 Verfahren mittlerweile alle Hardwareimplementiert?
Ist Pre-Calculated BM ein eigenes Verfahren? Was ist das überhaupt?
Wer kann mir etwas über True, Reflective Bump Mapping verraten?
Hat jemand nen guten Link zu Parallax Mapping und Horizon Mapping? Hat Horizon Mapping überhaupt etw. mit BM zu tun?
Gibt es einen Unterschied zw. BM und Relief Mapping oder ist das einfach nur die dt. Bezeichnung.

Tut mir leid wenn die Fragen manchen blöd erscheinen ich habe echt schon einiges an material gewälzt, aber da wird man nciht immer aus allem schlau bzw. begriffe werden widersprüchlich verwendet etc.

Thx a lot

Coda
2005-11-28, 16:42:47
Sind diese 3 Verfahren mittlerweile alle Hardwareimplementiert?Die kannst du heute alle 3 ohne Probleme mit nem Pixelshader berechnen.

Ist Pre-Calculated BM ein eigenes Verfahren? Was ist das überhaupt?Precalculated würde ja bedeuten, dass die Texture schon die Bumps beinhaltet. Ich wüsste jetzt nicht wo das mal angewendet wurde.

Hat jemand nen guten Link zu Parallax Mapping und Horizon Mapping? Hat Horizon Mapping überhaupt etw. mit BM zu tun?Zu Parallax-Mapping findet Google eigentlich jede Menge. Horizon-Mapping ist ein Verfahren für Schatten und hat eigentlich nur indirekt etwas mit Bump-Mapping zu tun.

Gibt es einen Unterschied zw. BM und Relief Mapping oder ist das einfach nur die dt. Bezeichnung."Bump-Mapping" ist in gewisser Hinsicht der Oberbegriff für alle diese Verfahren. Die Namen sind auch kaum festgeschrieben und jeder verwendet teilweise andere.

Mr. Lolman
2005-11-28, 16:46:48
Tut mir leid wenn die Fragen manchen blöd erscheinen ich habe echt schon einiges an material gewälzt, aber da wird man nciht immer aus allem schlau bzw. begriffe werden widersprüchlich verwendet etc.

Thx a lot

Kein Problem. Ist ja kein Wunder, dass man im ganzen Featurewald irgendwann den Überblick verliert ;)

Aber Coda hats schon beantwortet. Macht mittlerweile alles der Pixelshader.

adrenalin82
2005-11-28, 17:03:55
Also ist pre-calculated wohl was total veraltetes?! Hm umso besserlass ichs weg :)

Horizon-Mapping würdest du also nicht unbedingt bei einem Überblick über Bump Mapping Verfahren erwarten? kann ichs auch weglassen? :)

Was genau bedeutet, dass ich die alle mit nem Pixelshader berechnen kann? Sind also nicht hardwareimplementiert, weils jede grafikkarte auch so kann oder wie? Könntest du mir das etwas genauer erklären :frown:

Thx schonmal für die antworten

Godmode
2005-11-28, 17:42:33
Also ist pre-calculated wohl was total veraltetes?! Hm umso besserlass ichs weg :)

Horizon-Mapping würdest du also nicht unbedingt bei einem Überblick über Bump Mapping Verfahren erwarten? kann ichs auch weglassen? :)

Was genau bedeutet, dass ich die alle mit nem Pixelshader berechnen kann? Sind also nicht hardwareimplementiert, weils jede grafikkarte auch so kann oder wie? Könntest du mir das etwas genauer erklären :frown:

Thx schonmal für die antworten

Ich würde es mal so sagen: Es gibt auf der GPU keine speziellen BM Schaltkreise. Man muss also ein Programm(Pixelshader) schreiben, dass das BM berechnet und dieses wird von Pixelshaderneinheiten auf der GPU ausgeführt. Man muss halt dazu nur wissen wie BM genau funktioniert.

edit1: zb gabs früher mal spezielle Schaltkreise für Hardware Transforming and Lighting(das machte die Berechnungen immer auf gleiche Weise), heute braucht oder will das aber keiner mehr, weil die Developer alles selber mit ihren eigenen Vorstellungen gestalten wollen. Mit den Shadern kannst du eben alles so machen wie du willst!

edit2: Typo fixed(thx @ gast
||
\/

Gast
2005-11-28, 18:12:03
Transform & Lighting vielleicht, aber Transform & Lightning sicher nicht.

MfG

Godmode
2005-11-28, 18:18:46
Transform & Lighting vielleicht, aber Transform & Lightning sicher nicht.

MfG

dafür musst du mir jetzt den Unterschied zwischen beiden erklären! :wink:

edit:
lighting = Beleuchtung
lightning = Blitz,...

adrenalin82
2005-11-28, 18:40:39
Es ist häufiger von Textureinheiten, Bump Map Einheit und so etwas geredet. Wie kann ich mir das vorstellen? Ist das alles nur in software oder liegt dem hardware zugrunde?

Coda
2005-11-28, 19:05:46
TMUs (Textureinheiten) gibt es heute auch noch. Diese werden von den Pixelprogrammen benützt um Texturdaten zu lesen. Bumpmapping wird heute einfach von den Pixelshadern ausgeführt, also das Program berechnet aus Lichtposition + Normalmap die entsprechenden Schattierungen.

adrenalin82
2005-11-28, 19:24:11
ok. Nochmal Danke. Ich fasse zusammen: Der Pixel-Shader nutzt die TMU. der ist wiederum ein Programm, also sind alle Verfahren softwareimplementiert.
Ich kann also theoretisch mit entsprechendem softwareseitigem Aufwand mit jeder Grafikkarte Embossed/dot3 und EM Bump Mapping realisieren?
Was hat es dann mit den Featurelisten der Grafikkartenhersteller auf sich? Wenn da dann steht die Grafikkarte kann EMBM bedeutet das nur, dass die Grafikkarte die entsprechenden DirectX funktionen unterstützt oder wie ist das wieder zu verstehen?
Ihr merkt schon ich wills genau wissen :)

Für jegliche Hinweise zum True, Reflective Bump Mapping wäre ich auch dankbar.

Coda
2005-11-28, 19:27:29
Ich kann also theoretisch mit entsprechendem softwareseitigem Aufwand mit jeder Grafikkarte Embossed/dot3 und EM Bump Mapping realisieren?Pixelshader gibt es erst seit DX9 wirklich flexibel nutzbar.

Gast
2005-11-28, 22:07:51
Es ist häufiger von Textureinheiten, Bump Map Einheit und so etwas geredet. Wie kann ich mir das vorstellen? Ist das alles nur in software oder liegt dem hardware zugrunde?


EMBM und Dot3BM wurden in DX6 bzw. DX7 eingeführt.

damalige hardware, welche diese features unterstützte hatte entsprechende festverdrahtete einheiten die diese algorithmen laut spezifikation berechnen konnte.

aus kompatibilitätsgründen gibt es diese features auch in den neueren API-versionen. die hardware hat allerdings keine festverdrahteten einheiten mehr dafür, stattdessen hat der grafikkartentreiber einen sogenannten shader hinterlegt, der den algorithmus beinhaltet.

diese shader werden in hardware (also auf der graka) und nicht in software (auf der cpu) ausgeführt.

shader sind im prinzip kleine miniprogramme die alle möglichen berechnungen auf vertex bzw. pixelbasis machen können (für bump-mapping sind aber nur die pixel-shader wirklich interessant, man braucht zwar die vorarbeit vom vertexshader (eckpunktnormalen), die eigentliche arbeit wird aber im PS erledigt)

vorteil an den shadern ist, dass diese nun "beliebige" (so lange sich die programme an die spezifikationen der jeweiligen shader-version halten) algorithmen ausführen kann und nicht nur vorverdrahtete.

in der praxis benutzen die entwickler in der regeldeshalb nicht den vorgegebenen algorithmus sondern schreiben selbst einen shader, der unter umständen davon abweichen kann. so haben die entwickler deutlich mehr flexibilität als mit der alten version

Gast
2005-11-29, 19:40:11
Das is doch mal ne klare ansage. Vielen Dank Gast für die einleutende Erläuterung.