Ich lade 3 Texturen in ArrayWie wählt man den Textur-Layer aus dem Textur-Array zum Rendern in OpenGL?
int width = 1024;
int height = 1024;
GLuint ID;
glGenTextures(1, &ID);
glBindTexture(GL_TEXTURE_2D_ARRAY, ID);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexStorage3D(GL_TEXTURE_2D_ARRAY, 1, GL_RGBA8, width, height, 3)
glTexSubImage3D(GL_TEXTURE_2D_ARRAY, 0, 0, 0, 0, width, height, 1, GL_RGBA, GL_UNSIGNED_BYTE, data[0]);
glTexSubImage3D(GL_TEXTURE_2D_ARRAY, 0, 0, 0, 1, width, height, 1, GL_RGBA, GL_UNSIGNED_BYTE, data[1]);
glTexSubImage3D(GL_TEXTURE_2D_ARRAY, 0, 0, 0, 2, width, height, 1, GL_RGBA, GL_UNSIGNED_BYTE, data[2]);
glBindTexture(GL_TEXTURE_2D_ARRAY, 0);
Wenn ich unmittelbaren Modus verwenden, wie kann ich feststellen, welcher Schicht das ich verwenden mag von Textur zu zeichnen, indem glTexCoord2f (...) nach glBindTexture (GL_TEXTURE_2D_ARRAY, ID) ? Muss ich bestimmte Methoden verwenden?
Ich werde es später zu VBO ändern, ist es möglich, es ohne Shaders zu machen? Ich habe sie nie benutzt. – ground0
@ ground0: Welcher Teil von "Textur-Arrays kann nur mit Shadern abgetastet werden" ließ Sie denken, dass Sie die Verwendung von Shadern vermeiden könnten? –