Texture Stage

Aus DGL Wiki
Version vom 21. April 2006, 16:50 Uhr von I0n0s (Diskussion | Beiträge) (wish->done)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Eine Texture Stage ist ein "Objekt" auf welches Texturen abgelegt werden können.

Bevor Multitexturing in OpenGL verfügbar war, besaß die GL nur eine Textur Stage. Das hieß, dass zu einem Zeitpunkt genau eine Textur aktiv sein konnte.

Auf den ersten Blick scheint dies genug, doch gab es Anwendungsfälle (z.B. Lightmaps, Decals) bei denen es von Vorteil wäre, wenn man mehrere Texturen benutzen könnte um einen Vertex einzufärben.


Ab OpenGL 1.2 verfügte die GL über eine ARB-Extension welche Multitexturing verfügbar machte. (Seit OpenGL 1.3 sind die Funktionen dieser Extension als Kernfunktion verfügbar.)

Das heißt, dass man einem Punkt mehrere Farbwerte aus verschiedenen Texturen zuweisen konnte.


Standardmäßig ist die Texture Stage 0 (GL_TEXTURE0) aktiv. Wenn man mit glActiveTexture eine andere Textureinheit (die deutsche Bezeichnung für Texture Stage) aktiviert, dann beziehen sich alle nachfolgenden Texturbefehle (wie z.B. Texturmatrix Manipulationen, oder das Binden von Texturen) auf diese Einheit.

Eine Textureinheit besteht aus aus dem Texturierungsaktivations-Status, einem Texturen-Matrizenstack, Texturumgebungseinstellungen und der momentan gebundenen Textur. Modifikation dieser Eigenschaften hat nur auf die aktuell aktive Textureinheit Effekt.


Siehe Auch

glActiveTexture, Multitexturing

Tutorial MultiTexturing DGL-Tutorial zum Thema Multitexturing