www.wikidata.de-de.nina.az
Der Begriff Texture Mapping deutsch etwa Musterabbildung bezeichnet ein Verfahren der 3D Computergrafik Es dient dazu die Flachen dreidimensionaler Oberflachenmodelle mit zweidimensionalen Bildern sogenannten Texturen und Oberflacheneigenschaften auszustatten Texturen lassen computergenerierte Bilder detailreicher und realistischer erscheinen ohne dass das zugrundeliegende Modell selbst verfeinert werden muss Texture Mapping der Vorderseite eines Wurfels Inhaltsverzeichnis 1 Texturkoordinaten 2 Perspektivenkorrektur 3 Texturinterpolation 3 1 MIP Mapping 3 2 Anisotropes Filtern 4 Spezielle Verfahren 5 WeblinksTexturkoordinaten BearbeitenJedem Vertex eines 3D Objektes kann zusatzlich zu seiner Position im xyz Raum unter anderem noch eine Texturkoordinate im uvw Raum zugeordnet werden Anhand der Texturkoordinaten auch uv oder uvw Koordinaten genannt wird definiert wie eine Textur ein Bitmap oder eine mathematische Textur auf einem Polygon abgebildet wird Verwendet man eine zweidimensionale Bitmaptextur so wie dies in Computerspielen der Fall ist so werden lediglich die u und die v Koordinaten benotigt um festzulegen welcher Bildteil auf dem Polygon abgebildet werden soll Bei mathematischen Texturen wie z B 3D Rauschen oder volumetrischen Texturen wird oft zusatzlich noch die w Koordinate benotigt Die uv Koordinate 0 0 entspricht der unteren linken Ecke der Textur und die uv Koordinate 1 1 der oberen rechten Ecke Uv Werte grosser 1 und kleiner 0 sind moglich und fuhren zu Randwiederholungseffekten der Textur Diese konnen in der Regel definiert werden Zwei Moglichkeiten sind Randwiederholung oder Spiegelung So lasst sich eine Textur uber das Definieren der Texturkoordinaten uber ein Polygon kacheln Ausserdem ist es moglich einem Vertex mehrere Texturkoordinaten zuzuweisen Man spricht dann von mehreren Mapping Channels Auf diese Art und Weise kann man mehrere Bilder bzw Bildausschnitte auf einem Polygon uberlagernd darstellen In 3D Modellen mit vielen Polygonen wird oft eine einzige Textur fur das ganze Modell verwendet sodass jeder Punkt des Modells nur einen Satz Texturkoordinaten hat und nicht unterschiedliche Texturkoordinaten fur die verschiedenen Polygone die diesen Punkt verwenden weil dieses Format fur hardwarebeschleunigte 3D Grafik und auch fur den Designer des 3D Modells besonders gunstig ist Bei der einfachsten Variante des Texture Mapping werden die Texturkoordinaten entlang der schon vom 3D in den 2D Raum transformierten Randlinien des Polygons linear interpoliert Dann werden sie entlang einer Bildschirmzeile oder spalte von Randlinie zu Randlinie linear interpoliert bei jedem Pixel wird der Farbwert des zu den interpolierten u v Koordinaten gehorenden Texels Bildpunkt in der Textur ubernommen Perspektivenkorrektur BearbeitenBei Polygonen die eine grossere Ausdehnung in Sichtrichtung haben fuhrt das oben beschriebene Verfahren zu visuell unbefriedigenden Resultaten weil die Texturkoordinaten nach der Projektion interpoliert werden und somit nicht berucksichtigen dass eine Strecke im weiter entfernten Teil des projizierten Polygons einer grosseren Strecke im originalen Polygon im 3D Raum entspricht als eine Strecke im naheren Teil des Polygons Dadurch andert sich die Zuordnung von Texturkoordinaten zu Punkten im dreidimensionalen Raum wenn sich die Perspektive andert Um dieses Problem zu losen werden meist anstatt der Texturkoordinaten u und v die Werte von u z und v z und daruber hinaus auch 1 z linear interpoliert wobei z die Koordinate im 3D Raum in Sichtrichtung ist z bzw 1 z muss daher zu jedem projizierten Punkt des Polygons gespeichert werden Um fur ein Pixel die Texturkoordinaten zu berechnen mussen nun Divisionen ausgefuhrt werden u u z 1 z v v z 1 z Weil Divisionen relativ langsame Operationen sind werden sie meist nicht bei jedem Pixel gemacht stattdessen werden u und v nur bei wenigen Pixeln die auf das Polygon gleichmassig verteilt sind so berechnet Bei allen anderen Pixeln werden die Werte von u und v zwischen denen jener Pixel interpoliert So kann man die storenden Effekte stark reduzieren ohne dass allzu viel Rechenleistung dafur aufgewendet werden muss Texturinterpolation BearbeitenDie bisher beschriebenen Verfahren nehmen vereinfachend an dass jeder Pixel exakt einem Texel zugeordnet werden kann Betrachtet man aber sowohl Pixel als auch Texel als Punkte ohne Ausdehnung so ist dies im Allgemeinen nicht der Fall Vielmehr liegen die Texturkoordinaten eines Pixels in der Regel zwischen mehreren Texeln Es gilt also zu entscheiden wie aus den Farbwerten der umliegenden Texel der Farbwert fur den Pixel gewonnen wird Man benotigt ein geeignetes Skalierungsverfahren Das einfachste und schnellste Skalierungsverfahren besteht darin einfach den nachstliegenden Texel auszuwahlen Man nennt dieses Verfahren nearest neighbor nachster Nachbar oder auch point sampling punktweise Stichprobe Beim aufwendigeren bilinearen Filtern wird der gesuchte Farbwert aus den vier umliegenden Texeln in Abhangigkeit von ihrer Entfernung interpoliert Noch aufwendigere Filter etwa der Gauss Filter ziehen weitere Texel in die Berechnung mit ein oder gewichten die Entfernung anders Da ungeeignete Interpolationsverfahren zu unerwunschten Alias Effekten fuhren beispielsweise Moire Effekte muss ein Kompromiss zwischen Geschwindigkeit und Artefaktbildung gefunden werden MIP Mapping Bearbeiten Diese Techniken werden angewandt solange der Rasterabstand der Pixel kleiner als jener der Texel ist einem beliebigen Pixel also hochstens ein Texel zugeordnet wird Ist der Rasterabstand der Pixel jedoch grosser als jener der Texel so entspricht einem Pixel gleich ein ganzer Bereich der Textur Zwar ist es nicht weiter schwierig den Farbwert als Mittelwert samtlicher Texel zu bilden aber dies ist sehr aufwendig fur einen einzigen Pixel mussen viele Rechenoperationen ausgefuhrt werden und daher nicht praktikabel Stattdessen verwendet man MIP Maps Diese enthalten neben der Originaltextur Kopien der Textur mit abnehmender Grosse sogenannte Detailstufen level of detail LOD Man wahlt daraus die grosste Detailstufe aus die den gewohnlichen Zustand Pixel kleiner als Texel wiederherstellt und arbeitet darauf wie auf der Originaltextur Zusatzlich zu den bisherigen Interpolationsverfahren bietet sich hier die Moglichkeit zwischen zwei aufeinanderfolgenden Detailstufen eine weitere lineare Interpolation durchzufuhren in Kombination mit der bilinearen Filterung erhalt man so eine trilineare Filterung Der Einsatz von MIP Maps in Verbindung mit point sampling reduziert Alias Effekte bereits stark in Verbindung mit aufwendigeren Filtern und Interpolation zwischen den Detailstufen konnen sie auf ein Minimum reduziert werden Anisotropes Filtern Bearbeiten Die oben beschriebenen Anwendungen betrachten Pixel und Texel als Punkte also als eindimensionale Objekte ohne Ausdehnung Stattdessen kann man sie aber auch als kleine Quadrate auffassen Dann gilt es zu berucksichtigen dass ein Pixel den man auf die Textur projiziert dort keine quadratische sondern eine in eine Richtung gestreckte Flache bildet wenn das betrachtete Polygon sich in Sichtrichtung ausdehnt Wird bei der Filterung diese unterschiedliche Ausbreitung in verschiedene Richtungen Anisotropie des Pixels im Texturraum berucksichtigt spricht man von anisotropem Filtern Spezielle Verfahren BearbeitenEs gibt verschiedene Verfahren um eine von einer Textur bedeckte Oberflache dreidimensional erscheinen zu lassen Beim Bumpmapping wird die Beleuchtungsberechnung mit einem uber die Oberflache variiertem Normalvektor gemacht Beim Displacement Mapping werden mit der Information aus der Textur zusatzliche Polygone erstellt Beim Environment Mapping wird mit Hilfe der Textur eine Spiegelung vorgetauscht Weblinks Bearbeiten nbsp Commons Textures Sammlung von Bildern Videos und Audiodateien Abgerufen von https de wikipedia org w index php title Texture Mapping amp oldid 217885810