Dans le cadre d'un projet plus vaste, j'essaie d'implémenter une fonction utilisant JOGL qui exportera les rendus 3D aux formats bitmap. Nous faisons cela en créant un GLJPanel et en dessinant la scène que nous voulons, puis en extrayant le bitmap. Tout fonctionne bien tant que le système a au moins une fenêtre visible sur l'écran - pas nécessairement la fenêtre contenant le panneau sur lequel nous dessinons. Mais si nous essayons de le faire sans faire de fenêtre visible, le GLJPanel ne dessine pas. En passant par la source JOGL, je trouve qu'elle ne dessine pas à moins d'avoir un pair valide - à moins que addNotify() n'ait été appelé. La documentation indique que addNotify() n'est appelé que lorsque le panneau fait partie d'une hiérarchie de fenêtre visible. Passer à un GLCanvas ne fait pas beaucoup de différence - le mode de défaillance est différent. WindowsOnscreenGLDrawable.realized n'est pas défini, ce qui signifie que lockSurface renvoie LOCK_SURFACE_NOT_READY
, provoquant l'échec de makeCurrent().Dessiner hors écran avec JOGL
Toute aide serait la bienvenue sur la façon de créer une application Java qui peut créer et exporter des scènes 3D sans avoir à rendre sa fenêtre visible.
Merci pour l'aide, mais c'est la partie "DrawGLScene" du code qui ne fonctionnera pas. Cependant, j'ai l'air d'avoir réglé ça. – DJClayworth
pouvez-vous partager votre solution? –