Die Funktion macht irgendwie nicht, was ich will, oder ich hab nen Logikfehler. Also erstmal die wesentlichen Sachen, weitere Codes folgen bei Bedarf:
Code: Alles auswählen
glGenTextures(1, &texture_);
glBindTexture(GL_TEXTURE_2D, texture_);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexImage2D( GL_TEXTURE_2D, 0, 3, bitmapInfoHeader_.width,
bitmapInfoHeader_.height, 0, GL_RGB,
GL_UNSIGNED_BYTE, wubu);
Code: Alles auswählen
unsigned char* wubu = new unsigned char[bitmapInfoHeader_.width * bitmapInfoHeader_.height * 3];
for(unsigned int n = 0; n < bitmapInfoHeader_.width * bitmapInfoHeader_.height * 3; ++n)
{
wubu[n] = 0;
if((n + 1) % 3 == 0)
wubu[n] = 255;
}
Code: Alles auswählen
glBindTexture(GL_TEXTURE_2D, texture);
Vll. ist da jetzt ein Denkfehler drin, aber ich würde doch eigentlich erwarten, dass damit alles blau ist? Statt dessen sehe ich aber nur ein Farbmuster horizontaler 1px-Linien mit rot, blau usw. gemischt. Ist hier schon ein Fehler drin, habt ihr gute Vermutungen oder braucht ihr noch mehr Code? Wenn ja, welchen?