为什么我不能正确绘制bmp创建的纹理?

时间:2019-11-23 10:49:51

标签: opengl

因此,我有一个bmp文件,我想将其显示为四边形,问题是每次纹理均被拆分为2,并且纹理的前半部分紧挨着另一半显示,但其方向相反。 例如,如果bmp是12的图像,它将被分成1和2的一半,并且将显示为21,或者显示在另一个顶部,我尝试使用其他电线,但是没有任何效果。

我使用glOrtho2D(0,300,300,0);。如果有帮助,我的绘制函数是:

`glBegin(GL_QUADS);
    glTexCoord2i(0,0);glVertex2i(300,0);
    glTexCoord2i(0,1);glVertex2i(300,300);
    glTexCoord2i(1,1);glVertex2i(0,300);
    glTexCoord2i(0,1);glVertex2i(0,0);
  glEnd();`

2 个答案:

答案 0 :(得分:0)

您的texCoord错误:

glBegin(GL_QUADS);
       glTexCoord2i(0,0);glVertex2i(300,0);
       glTexCoord2i(0,1);glVertex2i(300,300);
       glTexCoord2i(1,1);glVertex2i(0,300);
       glTexCoord2i(1,0);glVertex2i(0,0); // It was repeated
     glEnd();

答案 1 :(得分:0)

这是我一直以来的加载功能,万一您遇到诸如检查加载功能之类的问题也没事。