Bin OpenGl-Einsteiger seit 1h und probier gerade ein Dreieck nach dem Tutorial Lektion 2 zu zeichnen.
Das Dreieck läßt sich nur darstellen, wenn das Beispiel abgeändert wird in glBegin(GL_QUADS) und hinzufügen eines vierten Vertex-Parameters
glBegin(GL_QUADS);
glColor3f(1,0,0); glvertex3f(-1,-1,0);
glColor3f(0,1,0); glVertex3f(0,1,0);
glColor3f(0,0,1); glVertex3f(1,-1,0);
glColor3f(1, 1, 0); glVertex3f(0, 1, 0);
glEnd;
Dies zeichnet ein Dreieck!?
Beispiel aus Tutorial:
glBegin(GL_TRIANGLES);
glColor3f(1,0,0); glvertex3f(-1,-1,0);
glColor3f(0,1,0); glVertex3f(0,1,0);
glColor3f(0,0,1); glVertex3f(1,-1,0);
glEnd;
Warum funktioniert das Beispiel aus dem Tutorial nicht?
_________________ Shareholder und Leitender Entwickler bei Pipedream-Games.
Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.
Registriert: Di Nov 26, 2002 22:12 Beiträge: 259 Wohnort: Dresden
Das Dreieck an sich ist ok, wenn man die richtigen Einstellungen hat. Ich vermute aber, dass du Backfaceculling an hast und das Dreieck deshalb verschwindet. Denn das Dreieck im Beispiel wird im Uhrzeigersinn definiert und damit blickt dich die Rückseite des Dreiecks direkt an.
Definierst du es entgegen dem Uhrzeigersinn dürfte alles klappen (ich ändere es auch gleich im Tutorial ab):
Code:
glBegin(GL_TRIANGLES);
glColor3f(1,0,0); glVertex3f(-1,-1,0);
glColor3f(0,0,1); glVertex3f(1,-1,0);
glColor3f(0,1,0); glVertex3f(0,1,0);
glEnd;
Dein Viereck als Dreieck zu zeichnen ist jedoch keine gute Idee, denn das kann zu Fehlern führen (dein Viereck besteht aus 2 identischen Punkten und ist somit gar kein Viereck)
Alternativ kannst du auch Backfaceculling deaktivieren (glDisable(GL_CULL_FACE)). Aber ich würde dir empfehlen Primitive immer gegen den Uhrzeigersinn zu definieren. Damit gehst du einigen Problemen aus dem Weg.
_________________ Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650
_________________ Shareholder und Leitender Entwickler bei Pipedream-Games.
Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.
Registriert: Di Dez 02, 2003 12:47 Beiträge: 300 Wohnort: Marburg
Backfaceculling heißt, Rückseiten der Flächen werden nicht gerendert (zur Performancesteigerung, sonnst würde bei einem Würfel wenns blöd läuft erst die Innenseite der hinteren Wand und dann die Vorderseite der Vorderen darüber gerendert werden, dass würde Zeit kosten ).
Ich denke, da du 1h erfahrung hast, könnte man das ruhig noch erwehnen (Tach).
_________________ Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de
Danke für die Tipps!
Backfaceculling ist aktiviert und entgegen dem Uhrzeigersinn das Dreieck definiert funktioniert prima.
Schön das dieses kleine Problemchen so schnell gelöst ist.
Das mit der Vorder- u. Rückseite durch die Reihenfolge der Datendefinition ist mir noch nicht klar wieso, aber der Nebel wird sich mit der Zeit noch lichten.
Mitglieder in diesem Forum: Bing [Bot] und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.