OpenGL zeichnet GL_LINES nicht



  • Hallo,

    das ist jetzt bestimmt wieder voll die noob-Frage 🙄

    Und zwar versuche ich mittels

    glBegin(GL_LINES);								
       glVertex2i(-7, 0);
       glVertex2i( 7, 0);
       glVertex2i( 0,-7);
       glVertex2i( 0, 7);
    glEnd();
    

    eine Art "X" zu zeichnen. Leider erscheint auf dem Bildschirm nichts.
    Als Projektionsmatrix verwende glOrtho. Ich habe auch schon an allen Einstellungen, wie Culling, Antialiasing und Blending rumprobiert, aber das bringt alles nichts. In die Bildschirmmitte, habe ich die Matrix auch translated.
    Mich wundert es nur, das nichts auf dem Bildschirm erscheint, da ich vorher noch DisplayListen aufrufen kann, und die auch korrekt angezeigt werdenn und generell das erste mal bei mir nichts auf dem Bildschirm erscheint.

    Ich denke aber, dass es an irgendeinem simplen Fehler liegt. Kann mir da jemand helfen?


  • Mod

    kann man denn die z-0 ebene sehen? (anders gefragt, wie sind die daten die du in glOrtho reinfuetterst)



  • Kann zwar gerade nicht gucken, aber ich glaub ich habs so gemacht:

    glOrtho(0,640,0,480,1,-1);
    

    Ich hab ja auch schon Quadrate via Displaylisten auf der z-Ebene 0 gezeichnet, und das klappt auch wunderbar.



  • Ich hab zwar mit OpenGL nicht wirklich was am Hut aber dich denke, dass deine Angabe bezügl. der Größenverhältnisse falsch ist.

    top hält die maximale Größeneinheit. Sollte bottom das nicht tun?

    Naja, wie gesagt. Nur eine vermutung. Sorry, wenn ich Mist erzähle 😉



  • Fallen Angel schrieb:

    Ich hab zwar mit OpenGL nicht wirklich was am Hut aber dich denke, dass deine Angabe bezügl. der Größenverhältnisse falsch ist.

    top hält die maximale Größeneinheit. Sollte bottom das nicht tun?

    Naja, wie gesagt. Nur eine vermutung. Sorry, wenn ich Mist erzähle 😉

    Bei OpenGL ist die (0|0) Koordinate unten links, wenn ich die Bottom mit Top vertauschen würde, stände alles auf dem Kopf 🙂

    Ich habe jetzt nochmal gegguckt, wie ich es gemacht habe:

    glOrtho(0.0f,width,0.0f,height,1.0f,-1.0f);
    

    Dabei habe ich noch eine Frage nebenbei. Was ist eigentlich der unterschied zwischen zNear und zFar, ich kann die Werte vertauschen wie ich lustig bin, aber die z-0 Ebene seh ich immer.

    Ich werde jetzt mal versuchen die Linien über DisplayListen auf den Bildschirm zu bekommen, so wie ich es mit meinen Quadraten gemacht habe.



  • Ich hab den Fehler gefunden 😃
    Nach langen suchem, habe ich rausgefunden, dass das mehrmalige aufrufen von glGenTextures() zu dem Fehler führt. Wie kann ich jetzt allerdings mehrere Texturen generieren?

    EDIT: Ich habe ein bisschen voreilig gepostet. Ich musste einfach nur die size anpassen.


Anmelden zum Antworten