-1
Ich habe ein Problem, ich möchte eine Textur auf einem einfachen Würfel zu binden, aber meine Textur nicht angezeigt und ich weiß wirklich nicht, was ich falsch gemacht habe.OpenGL keine Textur
Dies ist die Textur Teil meines Programms:
void loadTextureSTD(char * path, int size, int size_x, int size_y)
{
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glGenTextures(1, &textureID);
glBindTexture(GL_TEXTURE_2D, textureID);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
texture = loadImageSTD(path, size, size_x, size_y);
glTexImage2D(
GL_TEXTURE_2D, 0, GL_RGB,
size_x , size_y, 0, GL_RGB,
GL_UNSIGNED_BYTE, texture
);
}
dies ist der Anzeigeteil:
glTexCoordPointer(2, GL_FLOAT, 0, vector_array_p0);
glVertexPointer(3, GL_FLOAT, 0, vector_array_p0); GL_VERTEX_ARRAY (p0)
glNormalPointer(GL_FLOAT, 0, normals_array_p0);
glDrawElements(GL_TRIANGLES, animation0, GL_UNSIGNED_INT, face_array_p0);
Das ist mein Ergebnis (Light ist auf 0, 10, 0): result
bearbeiten in a [MCVE]. – genpfault
(1) Sind Sie sicher, dass der GL richtig initialisiert wurde? Z.B. Können Sie einen diffus schattierten Würfel anzeigen? Wenn nicht, dann muss ein anderer Fragenweg gestellt werden. Im Folgenden wird davon ausgegangen, dass Ihr Problem mit Texturen und nicht mit einem grundlegenden GL besteht. (2) RGB sollte 3 Bytes pro Pixel haben, aber es scheint, dass Sie nur 1 lesen. Bin ich falsch? –
Ja, ich habe 1 Byte aus der ppm-Datei gelesen ... habe ich etwas falsch verstanden? – noName