glTexImage2D Richtig verwenden

vrcat

Mitglied
Hallo zusammen,
ich habe ein Problem damit meine Lightmap richtig zu berechnen. Nach einem kleinen Test sehe ich das meine Lightmap auf der Texture um eine Einheit in U und V Richtung verschoben ist. Habe euch mal ein Bild gemacht und den Code habe ich auch dazu gelegt hoffe ihr könnt mir helfen.

Code:
static unsigned char data[8 * 8 * 3];
for (long i=0;i<8*8*3;i++) data[i] = 255;
data[0] = 0;data[1] = 0;data[2] = 0;

glGenTextures(1, &textures[0]);
glBindTexture(GL_TEXTURE_2D, textures[0]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexImage2D(GL_TEXTURE_2D, 0, 3, 8, 8, 0, GL_RGB, GL_UNSIGNED_BYTE, data);

Code:
glBindTexture(GL_TEXTURE_2D, textures[0]);
glBegin(GL_QUADS);    
glNormal3f( 0.0f, 0.0f, 1.0f);
glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);
glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);
glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f,  1.0f);
glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f,  1.0f);
glEnd();

Hier noch das Bild was dabei raus kommt:
http://ul.to/ibq6zt

Jetzt verstehe ich nicht warum der Schwarze Luminanzwert nicht in der unteren rechten Ecke liegt sondern um eine Einheit verschobene ist.
 
Zurück