2 D Texturen Mehrfachtexturen
← 2D Texturen Vorbereiten | ● | Lokale Beleuchtung →
Benutzen mehrerer Texturen
Man kann mehrere Texturen gleichzeitig benutzen; jeweils eine Textureinheit wird je Sampler über glUniform1i()
gesetzt (eine Einheit kann theoretisch auch mehrfach benutzt werden).
Anzahl an Textureinheiten: glGetIntegerv (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &num);
Minimale Anzahl: Bei OpenGL-3.0-kompatibler Hardware: 16, bei 4.0-kompatibler Hardware: 80 …
Welche Textureinheit man für welche Textur benutzt bleibt einem selber überlassen. Bei vielen Texturen muss man selber(!) Buch führen, es gibt kein glGenTextures() oder ähnliches…
Definieren mehrerer Texturen, Umschalten zwischen Verschiedenen
Es können auch mehr Texturen definiert werden als gleichzeitig benutzt werden (können);
Definieren des aktuellen Texturnamens mit glBindTexture()
(keine Beschränkung), dann beschreiben mit glTexImage2D()
etc.
Zum Benutzen einer weiteren Textur diese einfach an eine Textureinheit binden.
Was man mit diesen Textureinheiten im Shader macht bleibt einem selber überlassen…