Führen Sie Android OpenGL im Hintergrund als Rendering Resource für App?

Ich möchte eine Android OpenGL-ES-Oberfläche im Hintergrund meiner App ausführen, um dynamische grafische Ressourcen (Bitmaps etc.) für die Anwendung bereitzustellen. Das OpenGl GLSurfaceView ist nicht der sichtbare Bildschirm meiner App. Es wird nur als Rendering-Fabrik verwendet, um Grafiken für die Verwendung durch die Hauptaktivität herzustellen.

Wer weiß, wie man ein Android GLSurfaceView laufen, wenn es keine aktive Ansicht ist? Die Google Android-Dokumentation ist klar, dass, wenn ein GLSurfaceView seinen Status als primäre Ansicht verliert, die Oberfläche zusammen mit all seinen Ressourcen zerstört wird.

  • Kann nicht eingehenden Anruf in android Marshmallow 6.0 beantworten
  • So verschieben Sie die Tasten Text, wenn der Zustand gedrückt wird
  • Sende Bitmap mit Intent Android
  • Generiere einen Keystore für eine Android App im Assistenten zum Exportieren von Android-Anwendungen?
  • Fehler beim Umbenennen von Verzeichniswerkzeugen in temp \ ToolPackage.old01 in C: \ android-sdk-windows
  • Kann ich einen Anruf programmgesteuert in Android auflegen?
  • Gibt es eine Möglichkeit, ein GLSurfaceView und den damit verbundenen GLSurfaceView.Renderer normal zu halten, wenn es nicht (und ist es noch) die primäre Ansicht der Anwendung?

  • Playing HTML5 Video auf Vollbildschirm in Android Webview
  • Wie kann man Google Glass GDK-Anwendung debuggen?
  • Erste Schritte mit dem WeChat Android SDK
  • Wie füge ich dem Spinner in Android hinzu
  • Android-Symbolleiste zu hoch im Querformat
  • Gotchas / Bugs in der Entwicklung für WebKit auf iOS oder Android
  • 2 Solutions collect form web for “Führen Sie Android OpenGL im Hintergrund als Rendering Resource für App?”

    Für was du versuchst zu tun, solltest du die GLSurfaceView ganz überspringen. Da du nur ein OpenGL-Offscreen-Rendering machen willst, kannst du einen EGL-Pixelpuffer nutzen und ihn in eine Bitmap umwandeln. Sehen Sie diesen Thread auf unddev für eine Lösung. Ich habe es sehr erfolgreich in einigen meiner Apps benutzt.

    Die Umsetzung in Richtung der Unterseite dieses Threads ist ein bisschen buggy, da es einige sehr einfache EGL Wahl hat. Ich würde empfehlen, einen robusteren Wähler zu implementieren, den Sie im Robert Green GLWallpaperService finden können , wenn Sie möchten .

    Eine weitere Änderung, die ich am Ende machte, war, die vertikale Pixelspiegelung zu entfernen. Ich habe gerade oben geschlagen mein Viewport in onSurfaceCreate, anstatt manuell Flip gerenderten Pixel beim Schreiben in die Bitmap.

    Viel Glück!

    Ich würde Ihnen dringend empfehlen, das nicht zu versuchen. Viele aktuelle Treiber auf Android-Geräten unterstützen nicht mehrere aktive GL-Kontexte über Prozesse hinweg. Wenn der Fahrer dies unterstützt, wurde das Feature nicht viel ausgeübt, weil Android selbst das nicht tut, also gibt es wahrscheinlich böse Bugs, die sich ergeben.

    Mehrere GL-Kontext wird nur von der Plattform verwendet, die mit Android 3.0 beginnt.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.