Textureinheit – Wikipedia
Eine Textureinheit (englisch texture mapping unit (TMU)) ist eine Hardwarekomponente moderner Grafikkarten, die Texturen für das Texturen-Mapping von Objekten filtert und den Shader bereitstellt.
Eine Textureinheit (TMU) besteht aus
- einer Texture Addressing Units (TAU), welche für die Adressierung der textur-internen Daten verantwortlich sind, und
- einer Texture Filtering Units, welche diese Daten durch Anwendung von Filtern verändern können.
In modernen Grafikkarten sind meist mehrere TMUs direkt in der Grafikpipeline integriert, während sie bei ihrer Einführung noch separate Prozessoren waren. Die Anzahl der Textureinheiten ist eine Möglichkeit, um eine Aussage über die Leistungsfähigkeit einer Grafikkarte zu machen.
Die Einführung von Textureinheiten bedeutete, dass Texturen nicht mehr im herkömmlichen Arbeitsspeicher abgelegt werden mussten, sondern im RAM der Grafikkarte. Die Anwendung von Textureinheiten bringt einen enormen Geschwindigkeitszuwachs beim Blenden von mehreren Texturen übereinander auf ein und dasselbe Render-Objekt. Der Grund dafür ist, dass zu texturierende Flächen nicht bei jedem Renderdurchlauf von Grund auf neu berechnet werden müssen. Ein simples, zu texturierendes Rechteck muss nicht noch einmal berechnet und im Fragment-Buffer gespeichert werden, mit einer Textur versehen, und dann mit einem zweiten Rechteck, das ebenfalls berechnet, gespeichert, texturiert und anschließend mit dem ersten Rechteck kombiniert werden muss. Wenn also mehrere Textureneinheiten zur Verfügung stehen (und dies von der Applikations-Software unterstützt wird), braucht das zu rendernde Objekt von der Grafikkarte nur ein einziges Mal berechnet und gespeichert zu werden, und die vorhandenen Texturen aus den Textureneinheiten werden auf das Objekt einfach nacheinander angewandt.