我有图片数据,想要从中获取一个子图片作为OpenGL纹理使用。
glGenTextures(1, &m_name);
glGetIntegerv(GL_TEXTURE_BINDING_2D, &oldName);
glBindTexture(GL_TEXTURE_2D, m_name);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, m_width, m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, m_data);
如何从作为纹理加载的图像中获取子图像。我认为这与使用glTexSubImage2D有关,但我不知道如何使用它来创建一个新的可以加载的纹理。调用:
glTexSubImage2D(GL_TEXTURE_2D, 0, xOffset, yOffset, xWidth, yHeight, GL_RGBA, GL_UNSIGNED_BYTE, m_data);
我看不出来它有任何作用,而调用glCopyTexSubImage2D只会复制我的帧缓冲的一部分。