prev up next

Hecker in kurz

Chris Hecker beschreibt in fünf Artikeln im Game Developers Magazine wie man effizient perspektivisch korrektes Texture Mapping hinbekommt. Hecker geht von einem Polygon mit drei Eckpunkten auf dem Bildschirm aus und rendert es Zeile fuer Zeile mit einer Scanline. Dieses Polygon entsteht durch die Projektion eines dreidimensionalen Objektes aus dem Raum auf die Bildfläche. Auf jede Fläche dieses Objektes ist eine Textur 'aufgeklebt', ihre Lage ist dadurch bestimmt, dass jedes Vertex dieser Fläche auch Texturkoordinaten besitzt. Sieht man senkrecht auf eine Fläche, so sieht man die Textur in ihrer normalen Ansicht. Sieht man allerdings schräg auf die Fläche, so ist die Fläche verkürzt und die Textur muss dem auch irgendwie angepasst werden. Ein einfacher Gedanke ist hier, einfach die u- und v- Texturkoordinaten in x- und y-Richtung zu interpolieren und jedenm Pixel auf dem Bildschirm so eine Texturkoordinate und somit eine Farbe aus der Textur zuzuordnen. Bei diesem Verfahren bekommt man aber Verzerrungen, es ist nicht perspektivisch korrekt. Das liegt daran, dass die u- und v-Werte nicht nur von x und y, sondern auch von z abhaengen. Dies hat Hecker erkannt, und er interpoliert nicht u und v, sondern u/z, v/z und 1/z in x- und y- Richtung und errechnet sich seine u- und v-Werte dann durch teilen von u/z und v/z durch 1/z.


Desweiteren nimmt sich Hecker in seinem Artikel dem Problem an, welches Pixel zu setzen ist und welches nicht, indem er einige Regeln einfuehrt, und er optimiert an der Geschwindigkeit des Mappers. Genaueres und die Artikel(englisch) gibt es auf der Homepage von Chris Hecker. Homepage von Chris Hecker


prev up next