2012-06-06 51 views
1

我需要開發一個應用程序使用OpenGL的Java包裝LWJGL。該應用程序將以無頭模式運行在遠程服務器上。我試圖瞭解是否以及如何考慮這樣一個事實,即LWJGL(和在其他AP中)通過Java UI元素(如Canvas等)創建。在我的情況下,我需要能夠在不創建窗口的情況下初始化GL上下文,因爲繪圖目標將是像素緩衝區將渲染爲紋理的FBO。雖然在LWJGL中已經有一種可能的解決方案叫做PBuffer(我猜像素緩衝區)對象,但它確實不需要通過窗口創建的GL上下文,因爲它在內部創建它。我不想使用這種方法,因爲它比較舊概念(和弱)比幀緩衝區對象,因爲我使用OGL 3.3 - >。所以我真的不想與任何舊的管道傳統混合。是否可以使用LWJGL以無頭模式呈現給FBO?

我基本上有2個問題:

1.可我創建一個沒有設立一個窗口來使用基於FBO渲染(無頭模式)的情況下?

2.如果第一個問題的答案是否定的,那麼我可以在遠程服務器上運行一個這樣的應用程序:爲了上下文訪問,窗口仍然被初始化?

更新: 問題可以關閉。我通過第一次初始化PBuffers來設置上下文來測試它。然後FBO渲染就像假定的那樣工作。

回答

1

我自己找到了答案。首先應該設置PBuffer來創建無頭GL的上下文。一旦創建完成,我們可以使用FBO將幀渲染爲圖像。

+0

我能夠使用PBuffer創建無頭GL上下文。之後我使用了FrameBuffer。你能告訴我運行它的例子嗎? 我無法更新緩衝區。當我創建它的截圖時,我可以再次看到單個圖像。 可能有一些方法來更新緩衝區。 –

相關問題