<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Texture_Mapping</id>
	<title>Texture Mapping - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Texture_Mapping"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Texture_Mapping&amp;action=history"/>
	<updated>2026-05-20T18:12:06Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Texture_Mapping&amp;diff=270898&amp;oldid=prev</id>
		<title>imported&gt;Matthias M.: größtenteils unbelegt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Texture_Mapping&amp;diff=270898&amp;oldid=prev"/>
		<updated>2025-09-14T06:51:57Z</updated>

		<summary type="html">&lt;p&gt;größtenteils unbelegt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege fehlen}}&lt;br /&gt;
[[Datei:TextureMapping.png|200px|mini|Texture Mapping der Vorderseite eines Würfels]]&lt;br /&gt;
Der Begriff &amp;#039;&amp;#039;&amp;#039;Texture Mapping&amp;#039;&amp;#039;&amp;#039; (deutsch etwa „Musterabbildung“) bezeichnet ein Verfahren der 3D-[[Computergrafik]]. Es dient dazu, die Flächen dreidimensionaler Oberflächenmodelle mit zweidimensionalen Bildern – sogenannten „[[Textur (Computergrafik)|Texturen]]“ – und Oberflächeneigenschaften auszustatten. Texturen lassen computergenerierte Bilder detailreicher und realistischer erscheinen, ohne dass das zugrundeliegende Modell selbst verfeinert werden muss.&lt;br /&gt;
&lt;br /&gt;
== Texturkoordinaten ==&lt;br /&gt;
Jedem [[Vertex]] eines 3D-Objektes kann zusätzlich zu seiner Position im xyz-Raum unter anderem noch eine Texturkoordinate im uvw-Raum zugeordnet werden. Anhand der Texturkoordinaten (auch [[UV-Koordinaten|uv- oder uvw-Koordinaten]] genannt) wird definiert, wie eine [[Textur (Computergrafik)|Textur]] (ein [[Rastergraphik|Bitmap]] oder eine mathematische Textur) auf einem [[Polygon]] abgebildet wird.&lt;br /&gt;
Verwendet man eine zweidimensionale Bitmaptextur, so wie dies in Computerspielen der Fall ist, so werden lediglich die u- und die v-Koordinaten benötigt, um festzulegen, welcher Bildteil auf dem [[Polygon]] abgebildet werden soll. Bei mathematischen Texturen, wie z.&amp;amp;nbsp;B. [[3D-Rauschen]] oder volumetrischen Texturen, wird oft zusätzlich noch die w-Koordinate benötigt.&lt;br /&gt;
&lt;br /&gt;
Die uv-Koordinate (0,0) entspricht der unteren linken Ecke der Textur und die uv-Koordinate (1,1) der oberen rechten Ecke. Uv-Werte größer 1 und kleiner 0 sind möglich und führen zu Randwiederholungseffekten der Textur. Diese können in der Regel definiert werden. Zwei Möglichkeiten sind Randwiederholung oder Spiegelung. So lässt sich eine Textur über das Definieren der Texturkoordinaten über ein [[Polygon]] kacheln.&lt;br /&gt;
&lt;br /&gt;
Außerdem ist es möglich, 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]] überlagernd darstellen.&lt;br /&gt;
&lt;br /&gt;
In 3D-Modellen mit vielen Polygonen wird oft eine einzige Textur für das ganze Modell verwendet, sodass jeder Punkt des Modells nur einen Satz Texturkoordinaten hat (und nicht unterschiedliche Texturkoordinaten für die verschiedenen Polygone, die diesen Punkt verwenden), weil dieses Format für hardwarebeschleunigte 3D-Grafik und auch für den Designer des 3D-Modells besonders günstig ist.&lt;br /&gt;
&lt;br /&gt;
Bei der einfachsten Variante des Texture Mapping werden die Texturkoordinaten entlang der schon vom 3D- in den 2D-Raum transformierten Randlinien des Polygons linear [[Interpolation (Mathematik)|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 gehörenden Texels (Bildpunkt in der Textur) übernommen.&lt;br /&gt;
&lt;br /&gt;
== Perspektivenkorrektur ==&lt;br /&gt;
Bei Polygonen, die eine größere Ausdehnung in Sichtrichtung haben, führt das oben beschriebene Verfahren zu visuell unbefriedigenden Resultaten, weil die Texturkoordinaten nach der Projektion interpoliert werden und somit nicht berücksichtigen, dass eine Strecke im weiter entfernten Teil des projizierten Polygons einer größeren Strecke im originalen Polygon im 3D-Raum entspricht als eine Strecke im näheren Teil des Polygons. Dadurch ändert sich die Zuordnung von Texturkoordinaten zu Punkten im dreidimensionalen Raum, wenn sich die Perspektive ändert.&lt;br /&gt;
&lt;br /&gt;
Um dieses Problem zu lösen, werden meist anstatt der Texturkoordinaten u und v die Werte von u/z und v/z und darüber 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 für ein Pixel die Texturkoordinaten zu berechnen, müssen nun Divisionen ausgeführt werden:&lt;br /&gt;
&lt;br /&gt;
u = (u/z)/(1/z)&lt;br /&gt;
&lt;br /&gt;
v = (v/z)/(1/z)&lt;br /&gt;
&lt;br /&gt;
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 gleichmäßig verteilt sind, so berechnet. Bei allen anderen Pixeln werden die Werte von u und v zwischen denen jener Pixel interpoliert. So kann man die störenden Effekte stark reduzieren, ohne dass allzu viel [[Rechenleistung]] dafür aufgewendet werden muss.&lt;br /&gt;
&lt;br /&gt;
== Texturinterpolation ==&lt;br /&gt;
Die 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 &amp;#039;&amp;#039;zwischen&amp;#039;&amp;#039; mehreren Texeln. Es gilt also, zu entscheiden, wie aus den Farbwerten der umliegenden Texel der Farbwert für den Pixel gewonnen wird: Man benötigt ein geeignetes [[Skalierung (Computergrafik)|Skalierungsverfahren]].&lt;br /&gt;
&lt;br /&gt;
Das einfachste und schnellste Skalierungsverfahren besteht darin, einfach den nächstliegenden Texel auszuwählen. Man nennt dieses Verfahren &amp;#039;&amp;#039;nearest neighbor&amp;#039;&amp;#039; („nächster Nachbar“) oder auch &amp;#039;&amp;#039;point sampling&amp;#039;&amp;#039; („punktweise Stichprobe“). Beim aufwendigeren [[Bilineare Filterung|bilinearen Filtern]] wird der gesuchte Farbwert aus den vier umliegenden Texeln in Abhängigkeit von ihrer Entfernung interpoliert. Noch aufwendigere Filter, etwa der [[Bildverarbeitung#Operationen der Bildverarbeitung|Gauß-Filter]], ziehen weitere Texel in die Berechnung mit ein oder gewichten die Entfernung anders. Da ungeeignete Interpolationsverfahren zu unerwünschten [[Alias-Effekt]]en führen – beispielsweise [[Moiré-Effekt]]e –, muss ein Kompromiss zwischen Geschwindigkeit und Artefaktbildung gefunden werden.&lt;br /&gt;
&lt;br /&gt;
=== MIP-Mapping ===&lt;br /&gt;
Diese Techniken werden angewandt, solange der Rasterabstand der Pixel &amp;#039;&amp;#039;kleiner&amp;#039;&amp;#039; als jener der Texel ist, einem beliebigen Pixel also höchstens ein Texel zugeordnet wird. Ist der Rasterabstand der Pixel jedoch &amp;#039;&amp;#039;größer&amp;#039;&amp;#039; als jener der Texel, so entspricht einem Pixel gleich ein ganzer Bereich der Textur. Zwar ist es nicht weiter schwierig, den Farbwert als Mittelwert sämtlicher Texel zu bilden, aber dies ist sehr aufwendig – für einen einzigen Pixel müssen viele Rechenoperationen ausgeführt werden – und daher nicht praktikabel.&lt;br /&gt;
&lt;br /&gt;
Stattdessen verwendet man [[MIP-Map]]s. Diese enthalten neben der Originaltextur Kopien der Textur mit abnehmender Größe, sogenannte „Detailstufen“ (&amp;#039;&amp;#039;level of detail&amp;#039;&amp;#039;, LOD). Man wählt daraus die größte Detailstufe aus, die den gewöhnlichen Zustand „Pixel kleiner als Texel“ wiederherstellt, und arbeitet darauf wie auf der Originaltextur. Zusätzlich zu den bisherigen Interpolationsverfahren bietet sich hier die Möglichkeit, zwischen zwei aufeinanderfolgenden Detailstufen eine weitere lineare Interpolation durchzuführen; in Kombination mit der bilinearen Filterung erhält man so eine [[trilineare Filterung]]. Der Einsatz von MIP-Maps in Verbindung mit &amp;#039;&amp;#039;point sampling&amp;#039;&amp;#039; reduziert Alias-Effekte bereits stark, in Verbindung mit aufwendigeren Filtern und Interpolation zwischen den Detailstufen können sie auf ein Minimum reduziert werden.&lt;br /&gt;
&lt;br /&gt;
=== Anisotropes Filtern ===&lt;br /&gt;
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 berücksichtigen, dass ein Pixel, den man auf die Textur projiziert, dort keine quadratische, sondern eine in eine Richtung gestreckte Fläche bildet, wenn das betrachtete Polygon sich in Sichtrichtung ausdehnt. Wird bei der Filterung diese unterschiedliche Ausbreitung in verschiedene Richtungen ([[Anisotropie]]) des Pixels im Texturraum berücksichtigt, spricht man von [[Anisotrope Filterung|anisotropem Filtern]].&lt;br /&gt;
&lt;br /&gt;
== Spezielle Verfahren ==&lt;br /&gt;
Es gibt verschiedene Verfahren, um eine von einer Textur bedeckte Oberfläche dreidimensional erscheinen zu lassen:&lt;br /&gt;
&lt;br /&gt;
* Beim [[Bumpmapping]] wird die Beleuchtungsberechnung mit einem über die Oberfläche variiertem Normalvektor gemacht.&lt;br /&gt;
* Beim [[Displacement Mapping]] werden mit der Information aus der Textur zusätzliche Polygone erstellt.&lt;br /&gt;
* Beim [[Environment Mapping]] wird mit Hilfe der Textur eine Spiegelung vorgetäuscht. &lt;br /&gt;
&lt;br /&gt;
== Verwendung in der Computerspieleindustrie ==&lt;br /&gt;
Die ersten PC Spiele, die auf Texture Mapping setzten waren bspw. das Ende 1992 erschienene [[F-15 Strike Eagle III]] von [[MicroProse]].&amp;lt;ref&amp;gt;http://www.pcplayer.de/archiv/data/1993/1993-02.pdf &amp;#039;&amp;#039;Microprose hebt ab&amp;#039;&amp;#039; PC Player 1993-02 S.7.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://www.pcplayer.de/archiv/data/1993/1993-03.pdf &amp;#039;&amp;#039;F-15 Strike Eagle III&amp;#039;&amp;#039; im Test in der PC Player mit Infobox zum Thema Texture Mapping 1993-03 S.60&amp;lt;/ref&amp;gt; Später wurde diese Technik in vielen weiteren Spielen, unter anderem auch [[Frontier: Elite II]] von [[Gametek]] eingesetzt. Heutzutage ist Texture Mapping aus Computerspielen nicht mehr wegzudenken.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
{{Commonscat|Textures}}&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bildsynthese]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Matthias M.</name></author>
	</entry>
</feed>