当前位置:  开发笔记 > 编程语言 > 正文

用JOGL画出屏幕

如何解决《用JOGL画出屏幕》经验,为你挑选了1个好方法。

作为一个大项目的一部分,我正在尝试使用JOGL实现一个工具,将3D渲染导出为位图格式.我们通过创建一个GLJPanel并绘制我们想要的场景,然后提取位图来实现这一点.只要系统在屏幕上至少有一个可见窗口,这一切都可以正常工作 - 不一定是包含我们绘制的面板的窗口.

但是如果我们尝试这样做而不使任何窗口可见,则GLJPanel将不会绘制.单步执行JOGL源我发现它不会绘制,除非它有一个有效的对等体 - 基本上除非已经调用了addNotify().文档说只有当面板成为可见窗口层次结构的一部分时才会调用addNotify().更改为GLCanvas没有太大区别 - 故障模式不同.未设置WindowsOnscreenGLDrawable.realized,这意味着lockSurface返回LOCK_SURFACE_NOT_READY,导致makeCurrent()失败.

欢迎任何帮助,如何创建一个Java应用程序,可以创建和导出3D场景,而不必让它的窗口可见.



1> DJClayworth..:

不确定我是否应该回答我自己的问题,但这里的内容与我现在发现的似乎有效.

关键是GLPbuffer,它是一个屏幕外的GLAutoDrawable,可以在没有可见组件层次结构的情况下创建.

这篇文章有助于它的工作.在我确认它完全正常运行之前,我将不再接受这个答案.

我还应该说答案来自这个论坛,而不是我自己的微脑.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有