OpenGl 3D mapping Problem
-
Hallo,
ich habe angefangen OpenGL zu lernen und wollte (nachdem ich ein paar Bilder auf Quads gemappt hatte) jetzt mal auf ein "wirkliches" 3D Objekt mappen...
Hierzu hab ich mir einen Zylinder rausgesuchtErstellt habe ich diesen schon, nun wollte ich ein Bild daraufmappen, aber dieses Bild wird sehr komisch gestreckt und zugeschnitten.
Ich hab schon gegooglet, doch immer nur Spheren gefunden und ich weiß nicht wo mein Fehler istglBegin(GL_QUAD_STRIP); for(int i = 0; i < vertexes_; ++i){ if(i == 0){ glTexCoord2f(0.0f, 1.0f); } glVertex3f(xsklein[i], height_, zsklein[i]); if(i == 0){ glTexCoord2f(0.0f, 0.0f); } glVertex3f(xsklein[i], - height_, zsklein[i]); } //damit der Zylinder geschlossen ist glTexCoord2f(1.0f, 1.0f); glVertex3f(xsklein[0], height_, zsklein[0]); glTexCoord2f(1.0f, 0.0f); glVertex3f(xsklein[0], - height_, zsklein[0]); glEnd();
Zur Erklärung:
Ich habe einen Kreis mit einer Funktion (vorher) ausgerechnet, die X-Koordinaten stehen im vector xsklein und Z is zsklein. height_ verschiebt diese Koordinaten nur nach unten/oben => Zylinder
vertexes_ ist die Anzahl der "Ecken" des Kreises...Da ich QUAD_STRIP verwende, wollte ich ähnlich wie bei QUADS auch, einfach die Eckpunkte auf die ersten beiden und letzten beiden "Zylinder"koordinaten mappen.
Nur funktioniert das nicht
Kann mir jemand weiterhelfen? Muss ich pro Triangle (bzw. QUAD) die Koordinaten mappen?(wäre ja ein ziemlicher Aufwand)
Thx für Antworten
-
Texturkoordinaten werden pro Vertex spezifiziert.
Wenn Du keine Texturkoordinaten angibst gilt weiterhin die, die Du zuletzt gesetzt hast.
-
super danke, hab jetzt jedes Vertex einzeln gemappt und es funktioniert