OpenGL中將資料從CPU傳送到GPU的方式有哪幾種?

時間 2021-06-02 03:42:59

1樓:Edward Tan

opengl是cuda的替代品.. 在無法執行cuda的平台使用或者給不想入opencl的坑的人用, 效果比較一般。

傳輸資料基本上就是glsl那些東西了, 影象處理一般是在fragment shader完成。 影象是texture, 每個fragment都有乙個uv座標, 由vetex shader 插值後傳入。 其他的引數可以uniform進來。

演算法和cuda最大的區別是紋理是可以sample的, 你不能把它當作矩陣來處理, 而是乙個連續空間, 所以要設定radius來模擬矩陣大小。

2樓:

大約三種?

一種占用cpu時間傳,傳到視訊記憶體;一種不占用cpu時間(利用dma,這種技術叫pbo,不知道是不是真的不用cpu);一種使用紋理。

3樓:BitDragonfly

OpenGL作為圖形API在繪製渲染裡發揮重大作用.並且OpenGL3.0之後的版本終於與時俱進.非常先進了(一般我不太用非ARB擴充套件)

傳輸資料方式:

最簡單的直接模式時代的方式.

第二種各種buffer方式.

第三種map方式.

第四種紋理方式.

第五種uniform.

第六種uniform block.

就知道這些

看看這些輸入方式.弄通用計算還算可以.可是輸出資料的時候就超級不友好了.所以通用計算還是要交給OpenCL CUDA 這種專業工具來做

如何將opengl程式從Windows上移植到linux上?

李Leo 問題解決了,其實OpenGL程式可移植性還是很好的,由於使用了glut庫,我的程式其實注釋掉windows.h就可以執行了。之前之所以出現錯誤,是因為顯示卡驅動的事。由於程式中用到了GLSL語言,包含if語句,這條語句中有兩條條件,通過或連線。沒有更新驅動之前,顯示卡認不認識這個if語句,...

如何處理OpenGL中VBO頻繁更改資料的問題?

zxx43 寫了一篇教程關於如何科學地合併drawcall 應該是可以解決這個問題 https zhuanlan p 10 4279952 liujing7256 你思路對,VBO資料頻繁更新造成資料抖動。一般來說,為減少實體繪製次數和OpenGL 狀態切換,我們一般對顯示屬性 一般可以看成材質 一...

決定CPU發熱的因素是什麼 從CPU本身的角度來看。是主頻決定的嗎?

社會閒散哥 決定CPU發熱的根本原因是半導體電路在導通的情況下存在電阻。從而令電流通過電阻時發熱。如果存在某種工藝,令導通的半導體電阻為零,則電流通過沒有任何損耗,完全不耗電。也就不發熱了。這樣的晶元一旦研製成功,計算裝置將獲得革命性的突破。 已重置 自問自答好了。決定CPU發熱的唯一因素是架構。A...