hunterge
hunterge

Reputation: 653

Can't add a texture to GL_QUAD

I have a series of rectangles and I am trying to add a texture to just one of them. Here is my current code:

    glEnable (GL_TEXTURE_2D);

    QBitmap image;
    GLuint texture;

    float pixels[] = {
          42, 0, 1,    0, 42, 1,
         -42 , 0, 1,   0, -42, 1,
    };

    image.load("texture.bmp");

    GLuint m_TextureID;

    glGenTextures(1, &m_TextureID);
    glBindTexture ( GL_TEXTURE_2D, m_TextureID);

    glTexEnvf ( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE , GL_MODULATE);

    glTexParameterf ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameterf ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameterf ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 84, 84, 0, GL_RGB, GL_FLOAT, pixels);

    glEnable(GL_TEXTURE_2D);
    glBindTexture ( GL_TEXTURE_2D, m_TextureID);

    glBegin(GL_QUADS);

    glBegin(GL_QUADS);
    glVertex3f(42, 0, 42);
    glVertex3f(42, 0, -42);
    glVertex3f(-42, 0, -42);
    glVertex3f(-42, 0, 42);
    glEnd();

Where am I going wrong?

Upvotes: 1

Views: 72

Answers (1)

datenwolf
datenwolf

Reputation: 162164

Where's your call to glTexImage2D? The data in the image variable isn't going to "magically" jump into the OpenGL texture. Oh, and you should not reload the image/texture upon every redraw.

Upvotes: 1

Related Questions