每一幀,我的程序都會從USB攝像機收到一個新圖像。該圖像最初將存儲在CPU內存中。 OpenGL中最快的方法是將此圖像繪製到屏幕上以便填充整個屏幕?在OpenGL的每一幀中繪製新的全屏圖像的最快方式是什麼?
目前,我將圖像數據上傳到紋理,然後呈現全屏四邊形。但是,這在我試過的另一臺機器上運行得並不快。
每一幀,我的程序都會從USB攝像機收到一個新圖像。該圖像最初將存儲在CPU內存中。 OpenGL中最快的方法是將此圖像繪製到屏幕上以便填充整個屏幕?在OpenGL的每一幀中繪製新的全屏圖像的最快方式是什麼?
目前,我將圖像數據上傳到紋理,然後呈現全屏四邊形。但是,這在我試過的另一臺機器上運行得並不快。
目前,我將圖像數據上傳到紋理,然後呈現全屏四邊形。但是,這在嘗試的另一臺機器上運行速度並不快。有任何想法嗎?謝謝。
glTexImage2D執行完整的質地初始化(這意味着,分配對象的設置和等)。如果你只想替換紋理圖像與相同大小的圖像,使用glTexSubImage2D,這是更快。如果你想異步做到這一點,那麼看看像素緩衝區對象
Blitting是一個可能的解決方案,並有一個thread討論它。儘管如此,他們並沒有給出很好的評論。
glDrawPixels和大多數其他柵格操作已經被OpenGL-3核心持續棄用。 – datenwolf