2016-04-05 9 views
-1

Meine OpenGL Version 4.5.0 unter Ubuntu 14.04. VBO und Shader werden verwendet. Das OpenGL wird nach dem Sperrbildschirm nicht korrekt gerendert (schwarz mit ein paar Farblinien, sieht aus wie glClear (GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT) funktioniert nicht). Ich habe sowohl Offline-Rendering (FBO Frame zu Bild speichern) als auch Online Rendering (Frame auf Fenster zeichnen) ausprobiert.OpenGL & Ubuntu 14.04 Kein Rendering nach Lock Screen

Jeder Vorschlag wäre willkommen.

+0

Was hat das mit der Programmierung zu tun? –

+0

@AaronGillion, Hallo Aaron, danke für deine Antwort. Ich muss mein 3D-Modell offline als Dienst auf einem Server rendern, Frame-Bild auf Stream-Medien ausgeben. Also sollte der Serverbildschirm gesperrt sein und meine Anwendung sollte gut funktionieren, wenn der Bildschirm gesperrt ist. –

+0

Vielleicht haben Sie den Kontext verloren (Fehler: GL_CONTEXT_LOST)? Was sind Ihre OpenGL-Fehler nach Sperrbildschirm? Und führen Sie das Programm in gDEBugger aus, das Ihnen mehr Informationen darüber gibt, was vor sich geht. Was meinst du auch "sollte gut funktionieren"? Suchen Sie nach einem Verweis, der besagt, dass es "GUT SIND" oder geben Sie die Lösung auf. – Andreas

Antwort

0

Render zu einem FBO nicht zu einem Fenster-. Der Inhalt eines Fensters ist für die Pixel nicht definiert, die den Pixelbesitztest nicht bestehen (d. H. Verdeckte Fenster, z. B. durch das Bildschirm-Locker-Overlay).

Je nach OpenGL-Implementierung und Umgebung benötigen Sie möglicherweise noch ein Fenster zum Erstellen eines Kontexts. In letzter Zeit ist es jedoch möglich, funktionierende OpenGL-Kontexte zu erstellen, ohne dass ein Display-Server zur Ausführung benötigt wird. siehe

Für NVidia https://devblogs.nvidia.com/parallelforall/egl-eye-opengl-visualization-without-x-server/

+0

danke für deine Wiederholung. Das Problem ist immer noch da, wenn ich auf FBO rendere (OpenGL-Kontext wird mit einem Fenster erstellt, Fenster wird sofort ausgeblendet). Ich werde versuchen, OpenGL Kontext ohne ein Fenster zu erstellen, wie Sie vorgeschlagen haben. Wenn es funktioniert, werde ich Sie wissen lassen. –