opengl 无法绘制大分辨率(6K)图像

写的opengl程序,发现以下现象。
1. 当图像的宽度/高度大于6K时,无法显示。
2. 但将图像在画图板中修改宽度/高度小于6K时,却能正确显示。
以下为主要核心代码,想知道是什么原因?

 glGenTextures(1, m_nTexture);
    glBindTexture(GL_TEXTURE_2D, m_nTexture);
    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
  glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, iTextureWidth, iTextureHeight, 0, GL_BGR_EXT, GL_UNSIGNED_BYTE, pTextureData[0]);

glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);  
    glFlush();

    glUseProgram(0);
    glBindTexture(GL_TEXTURE_2D, 0);
    glDisable(GL_TEXTURE_2D);

查看全部
lzg0610210238
lzg0610210238
2017/08/15 03:06
  • opengl
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

3个回复