我在C ++中遇到OpenGL纹理问题

时间:2014-05-26 20:14:17

标签: c++ textures glut bmp

我正在添加纹理的两个大问题。我正在尝试使用bricks.bmp文件的纹理。

第一个问题是每当我使用它时,它似乎都有蓝色调。这是我用过的代码:

void Shape::buildBox(float x, float y, float z, float w, float d, float h)
{
    // Front face of box
    glBindTexture(GL_TEXTURE_2D, Resources::bricks->textureID);
    glBegin(GL_QUAD_STRIP);
    glColor3f(1, 1, 1);

    glTexCoord3f(x - w, y, z + d);
    glVertex3f(x - w, y, z + d);

    glTexCoord3f(x - w, y + h, z + d);
    glVertex3f(x - w, y + h, z + d);

    glTexCoord3f(x + w, y, z + d);
    glVertex3f(x + w, y, z + d);

    glTexCoord3f(x + w, y + h, z + d);
    glVertex3f(x + w, y + h, z + d);

    glTexCoord3f(x + w, y, z - d);
    glVertex3f(x + w, y, z - d);

    glTexCoord3f(x + w, y + h, z - d);
    glVertex3f(x + w, y + h, z - d);

    glEnd();
    glBindTexture(GL_TEXTURE_2D, 0);
}

这就是它的样子: enter image description here

我认为我遇到的另一个与之前发布的代码有关的问题是,当我尝试在不同的轴上布置bmp时,它会像这样展开并扭曲:

enter image description here

有谁知道我需要改变什么? BMP本身有问题吗?我得到了地板的纹理,工作得很好,我尝试使用各种其他BMP作为我正在制作的“墙”,但同样的事情似乎一直在为所有人发生。

0 个答案:

没有答案