2010-10-04 513 views
0

我正在使用opengl FBO和MAC OS X 10.6上的過量屏幕渲染。該程序涉及多個3D對象的移動。opengl關閉屏幕渲染

該程序似乎工作正常,除了我需要包括一個選項的屏幕緩衝區內容沒有交換到屏幕上的緩衝區。因此你在屏幕上看不到任何東西。我想知道在屏幕上什麼也看不到的情況下,程序是否正常工作,即3D移動等工作情況是否正常。是否有一個實用程序可以讀取屏幕外緩衝區並在我的過程單獨運行時將其顯示在屏幕上。

或者,有沒有其他方法可以實現這一目標?這是爲了在使用FBO離屏時隱藏屏幕窗口。

感謝任何意見/建議。我希望我的問題很清楚。

回答

0

gDEBugger for Mac應該能夠顯示FBO內容,無需額外的努力在你身邊,至少Windows版本的確如此。 7天的試用版可用。

+0

是否有任何可用於使用glut/freeglut進行離屏渲染的示例。我看到一個用openglut,但更喜歡使用freeglut。有任何想法嗎? – 2010-10-06 06:09:45

+0

@John Qualis FBO不依賴於你的GUI工具包。只要你選擇任何FBO教程,它就可以工作。 – 2010-10-06 18:08:01

0

我會將離屏緩衝區複製到共享內存上。然後,外部應用程序連續讀取共享內存內容,更新紋理並將其顯示在屏幕上。

就是這樣。

我已經使用了很多,即使是離屏渲染,但我沒有一個方便的例子。 :(

我會建議在共享內存的開始存儲額外的信息(寬度,高度,像素類型,增量整數以知道圖像是否從上次讀取發生變化...)。 ,存儲由你的應用程序,其尺寸由寬度,高度和像素大小實際上取決於所產生的像素數據。

我也建議使用glReadPixels來存儲像素數據,使所述映射的共享存儲器中作爲參數。遠程應用程序可以使用該數據來更新紋理

+0

很好的回答。你知道哪些使用這種技術的例子?欣賞它。 – 2010-10-04 17:58:50

+0

讓我試試這個。再次感謝。 – 2010-10-05 01:32:30

+0

是否有任何可用於使用glut/freeglut進行離屏渲染的示例。我看到一個用openglut,但更喜歡使用freeglut。有任何想法嗎? – 2010-10-06 06:10:26