より大きなプロジェクトの一環として、3Dレンダリングをビットマップ形式にエクスポートするJOGLを使用した機能を実装しようとしています。これを行うには、GLJPanelを作成し、必要なシーンを描画してから、ビットマップを抽出します。これは、システムの画面に少なくとも1つのウィンドウが表示されている限り、すべて正常に機能します。必ずしも、描画先のパネルを含むウィンドウである必要はありません。
ただし、ウィンドウを表示せずにこれを実行しようとすると、GLJPanelは描画しません。JOGLソースをステップスルーすると、有効なピアがない限り、つまりaddNotify()が呼び出されていない限り、描画されないことがわかります。ドキュメントによると、addNotify()は、パネルが表示されているウィンドウ階層の一部になっている場合にのみ呼び出されます。GLCanvasに変更しても、大きな違いはありません。障害モードは異なります。WindowsOnscreenGLDrawable.realizedが設定されていません。これは、lockSurfaceが戻りLOCK_SURFACE_NOT_READY
、makeCurrent()が失敗することを意味します。
ウィンドウを表示せずに3Dシーンを作成およびエクスポートできるJavaアプリを作成する方法についてのヘルプを歓迎します。