OpenGL + instanz Variable



  • Guten Tag,

    Ich habe ein, in meinen Augen, sehr seltsames Problem mit OpenGL.

    Beschreibung:

    Programm zeigt ein Bild an mittels OpenGL via

    glDrawPixels(_w, _h, GL_RGBA, GL_UNSIGNED_BYTE, _glback.bits());
    

    wobei _glback ein Bild im QImage Format ist. Die Zeile steht in einer Funktion die bei jedem updateGL ausgeführt wird.
    Alles klappt wunderbar, keine Fehler!

    Verschieden Klassen führen jeweils ein updateGL aus, alles funktionert immer noch bestens. Wenn ich nun in einer der bestehenden Klassen eine weitere Instanzvariable deklariere, dann wird mir das Bild nicht mehr angezeigt!!

    Wie kann alleine die Deklaration einer Variable ( z.b. int test; ) einen solchen Effekt haben????

    Ich versteh das überhaupt nicht und weiss nun nicht mehr wie weiter. Wie kann ich sowas überhaupt debuggen?

    Hoffen jemand von euch hat eine Idee. Schonmal vielen Dank im voraus!



  • Wie sieht die Klasse denn vor und nach der Definition von "int test;" aus? Was gibts bits() zurück? Von was für einem Typ ist _glback? Was macht updateGL noch? Von wo wird updateGL genau aufgerufen? Fragen über Fragen...



  • David_pb schrieb:

    Wie sieht die Klasse denn vor

    Ich kopiere jetzt nicht die ganze Klasse. Es wird einfach in der Header Datei eine neue Variable deklariert:

    private:
    	IplImage * img;
    	int currentScribble;
    	ImgSequence * _is;
    

    David_pb schrieb:

    und nach der Definition von "int test;" aus?

    private:
    	int test;
    	IplImage * img;
    	int currentScribble;
    	ImgSequence * _is;
    

    David_pb schrieb:

    Was gibts bits() zurück?

    const uchar *

    David_pb schrieb:

    Von was für einem Typ ist _glback?

    QImage

    David_pb schrieb:

    Was macht updateGL noch? Von wo wird updateGL genau aufgerufen? Fragen über Fragen...

    updateGL wird noch von verschiedenen anderen Stellen aufgerufen. Aber das wesentliche ist doch:
    Ohne zusätzliche Variable funktioniert alles. Alleine die Deklaration ( ohne sonst irgendwas mit der Variablen zu machen) genügt, dass es nicht mehr funktioniert. ... ??

    Wie das?



  • Hast du schonmal geschaut, ob und welchen Fehler OpenGL liefert? (mit glError())

    Ansonsten sind die Informationen noch etwas spärlich. Vielleicht haut dann irgendwas mit dem Pointer nicht mehr hin..



  • Powerpaule schrieb:

    Hast du schonmal geschaut, ob und welchen Fehler OpenGL liefert? (mit glError())

    Nein habe ich noch nicht. Merci für den Hinweis. Werde gleich mal schauen wie glError zu gebrauchen ist.



  • ..ähm du meinst glGetError(), oder?



  • glGetError() gibt 0 aus, also keinen Fehler gefunden .. ??


Anmelden zum Antworten