2008-12-16 43 views
4

我試圖將一個包含大量紋理(沒有任何移動)的openGL [我繪製的卡(?):) thx unwind]轉換成一個PNG文件,我可以在另一個PNG文件中使用我正在使用的框架的一部分。有沒有一個C++庫可以做到這一點?openGL到PNG

謝謝!

+0

「我畫的牌」是什麼意思? – 2008-12-16 16:04:11

+0

這是一個靜態的,不斷的場景,看起來像一張卡... – majdal 2008-12-16 16:18:17

回答

10

如果你只是指「把OpenGL渲染的場景保存爲圖像」那麼它非常簡單。您需要使用glReadPixels()讀取場景,然後將該數據轉換爲圖像格式,例如PNG(http://www.opengl.org/resources/faq/technical/miscellaneous.htm)。

還有更有效的方法來實現這一點,例如使用FBO s。不是直接將場景渲染到幀緩衝區,而是通過FBO將其渲染爲紋理,然後將該紋理渲染爲全屏四邊形。然後您可以使用此紋理並將其保存到文件中(例如,使用glGetTexImage)。

1

什麼是「OpenGL文件」? OpenGL是一個圖形API,它沒有指定任何文件格式。你的意思是一個DDS文件,或者什麼?

1

有更好的方法來製作紋理而不是使用圖形卡進行繪製。這是真正的事情你想要做的事情之前,你需要做的事情,然後在你需要的時候使用opengl