作为一个较大项目的一部分,我试图使用JOGL将设备导出3D渲染为位图格式。我们通过创建一个GLJPanel并绘制我们想要的场景然后提取位图来实现这一点。只要系统在屏幕上至少有一个可见窗口,这一切都可以正常工作 - 不一定包含我们正在绘制的面板的窗口。用JOGL绘制屏幕外
但是,如果我们试图做到这一点,而不使任何窗口可见GLJPanel不会绘制。通过JOGL源代码我发现它不会绘制,除非它有一个有效的对等体 - 本质上,除非已经调用了addNotify()。文档说addNotify()仅在面板成为可见窗口层次的一部分时被调用。更改为GLCanvas并没有太大的区别 - 故障模式不同。 WindowsOnscreenGLDrawable.realized未设置,这意味着lockSurface返回LOCK_SURFACE_NOT_READY
,导致makeCurrent()失败。
如何创建一个可以创建和导出3D场景而无需使窗口可见的Java应用程序将受到任何帮助。
感谢您的帮助,但它是代码的“DrawGLScene”部分不起作用。不过,我似乎已经解决了这个问题。 – DJClayworth 2009-01-21 18:44:07