2015-11-25 45 views
1

我想創建opengl 2d庫,其中紋理以及窗口封裝爲對象。是否有可能創建虛擬靜態DC並在加載紋理時使其爲最新狀態?所有的窗口與靜態窗口都有相同的PIXELFORMATDESCRIPTOR。這樣,庫的用戶就不必在加載紋理或將窗口作爲參數傳遞到紋理之前創建窗口。OpenGL加載紋理沒有或與靜態設備上下文?

回答

1

是否有可能創建虛擬靜態DC並使其在加載紋理時爲當前狀態?

的排序。只要設備上下文的可視格式相互兼容,就可以將爲此可視格式創建的OpenGL渲染上下文綁定到任何這些設備上下文。

因此,您可以非常好地創建一個窗口,使用從未在屏幕上顯示的DC(始終保持隱藏狀態,尺寸爲0×0)並將其用於背景OpenGL操作。您還可以創建一個輔助OpenGL上下文,讓它與主上下文共享其命名空間,使其在單獨的工作線程的隱藏窗口上保持最新,以便在主上下文時可以異步執行OpenGL操作(如加載紋理)用於其他事情。