C
Um jetzt nicht unnoetig einen neuen Thread zu eroeffnen: Ich hab mir jetzt mal das Beispiel auf dem wxwiki zum Thema glcanvas angesehn und versucht das GL-Fenster in ein mit Code::Blocks und wxSmith gebasteltest Fenster einzubauen. Jetzt habe ich aber 2 Probleme.
Erstens: Wenn ich wxPaintDC verwende, wird das Fenster zwar richtig eingebunden, aber natuerlich updated es nur bei einem Paint-Event, in diesem Fall vermutlich Refresh() wenn ich die Fenstergroesse aendere. Damit das auch ausserhalb von Paint-Events funktioniert, sollte ja wxClientDC verwendet werden. Jetzt ist es allerdings so, dass die ganzen StaticText- und Text-Felder grau uebermalt werden und zusaetzlich alle Messageboxen und Dropdown-Menues. Wenn ich auf schliessen klicke (x), dann beendet sich das Programm erst, nachdem ich es minimiere. Warum passiert das und wie kann man das Problem loesen?
Zweitens: Es wird zwar der Hintergrund des OGL-Fensters immer brav gecleared, aber die Geometry (in dem Fall ein blaues Teapot Drahtmodell von GLUT) taucht nicht auf. Die Render-Funktion sieht atm so aus:
glLoadIdentity();
prepare3DViewport(getWidth(), 0, getWidth(), getHeight());
glColor4f(0, 0, 1, 1);
glTranslatef(0, 0, -5);
glutWireTeapot(1.0);
Haengt das mit Problem1 zusammen?
Das Example findet sich auf wiki.wxwidgets.org.