我將開羅(http://cairographics.org)與基於OpenGL的3D圖形庫結合使用。
我目前在Windows上使用3D庫,但我希望能得到一個獨立於平臺的答案。 這全部在C++中完成。將開羅表面直接渲染爲OpenGL紋理
我已經得到了直接法的工作就是用cairo_image_surface_create結合glTexImage2D獲得一個OpenGL紋理。
但是,從我已經能夠從文檔中收集的cairo_image_surface_create使用基於CPU的渲染器並將輸出寫入主內存。
我已經理解cairo有一個新的基於OpenGL的渲染器,它直接在GPU上渲染它的輸出,但是我無法找到關於如何使用它的具體細節。
(我發現了一些關於glitz-renderer的細節,但它似乎被棄用和刪除)。
我已經檢查了表面清單:http://www.cairographics.org/manual/cairo-surfaces.html,但我覺得我很想念這個明顯的問題。
我的問題是:如何創建一個直接渲染到OpenGL紋理的cairo表面?
注意:我需要能夠直接使用紋理(無需複製)在屏幕上顯示cairo輸出。
我知道浮華渲染已被替換,我在原來的問題中提到過。 但是該頁面似乎沒有列出關於如何實際使用cairo-gl後端的任何說明,我非常具體地詢問如何在不使用** glTexImage2D **的情況下直接渲染到OpenGL紋理。 你有更精確的說明嗎? – Remco 2011-05-26 13:03:41
@Vhab - 抱歉,我不知道如何使用cairo-gl。但沒有它,我相信你會使用glTexImage(或相當於)。使用cairo-gl,您可以綁定幀緩衝區對象以啓用將cairo繪圖調用重定向到紋理。我幾乎沒有更具體,對不起 – rotoglup 2011-05-27 17:36:23
我無法找到關於如何使用cairo-gl的具體信息,這是什麼導致我在stackoverflow上問這個問題。我會很樂意接受任何答案,告訴我如何真正使用cairo-gl,並通過cairo輸出獲得有效的OpenGL紋理。 – Remco 2011-05-27 20:01:04