0
我加载3个纹理到数组如何从纹理数组中选择纹理图层以在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);
如果我使用即时模式,我怎么能告诉我想使用glTexCoord2f(...)从纹理绘制该层后glBindTexture(GL_TEXTURE_2D_ARRAY,ID) ?我必须使用一些特定的方法吗?
我将在稍后将其更改为VBO,是否有可能使其不带着色器?我从来没有用过它们。 – ground0
@ ground0:“只能使用着色器对纹理数组进行采样”的哪一部分让您觉得可以避免使用着色器? –