aiglx學習總結aiglx
是accelerated indirect glx
的縮寫,它的主要功能是為了使基於
x的客戶應用程式能通過
glx(x
的乙個擴充套件)完成
3d的硬體加速。在乙個視窗系統中,有兩種方法可以讓
opengl
的介面函式訪問顯示卡裝置:第一種(也是
aiglx
所使用的方法)是通過
glx協議把
gl的命令傳送給
x server
,然後x server
會把該命令傳送給顯示卡裝置,讓其完成相應的顯示動作;第二種是讓
opengl
函式介面直接給顯示卡裝置傳送命令。 由於
aiglx
使用的是間接訪問的方式,因此我們下面就來說一下在
aiglx
架構下3d
應用程式的流程。在說此之前不得不先介紹一下
x window
,mesa
和glx。
x window
是linux
下最流行的視窗系統,它採用客戶
/伺服器模式。所有的資源(螢幕、字型、
window、gc
等)都由伺服器來管理,客戶端唯一所能做的就是請求伺服器做某些操作,如畫一條直線,建立視窗等。對
x的客戶
/伺服器模式
的理解,可能大家都會有些迷惑,需要指出的是
x的客戶
/伺服器模式與網頁的客戶伺服器模式有所不同,一般網頁的顯示會通過網頁伺服器(如
apache
)的解析,然後把內容發給客戶機顯示,然而,
x的顯示是在伺服器機上進行的,為了更好的理解
x的客戶
/伺服器模式我們舉個例子:
找兩台裝有
linux
的並且網路相聯的機子,把其中一台當伺服器,另一台當客戶機,在伺服器上啟動
x server
(通過在終端輸入x 或
xinit
或startx
),然後執行
xhost +
客戶機的
ip位址,
然後再在客戶機上執行
export display=
伺服器ip:0.0
,最後在客戶機上隨便執行乙個基於
x的程式,你會發現它能在
x server
上顯示出來。
x window
主要分為
3部分:客戶端、協議和伺服器。所有基於
x的程式都可以看成是乙個客戶端,該程式可以看成是命令集,這些命令通過協議傳送到伺服器,伺服器根據協議定義的格式解析這些命令,然後按照命令去執行相應的操作。 由於
x core
已經遠遠不能滿足需求,所以需要通過擴充套件來完成一些特殊的功能,如
glx就是
x window
的乙個擴充套件,它的主要功能是將
opengl
和x window
有效的結合在一起,
opengl
的介面函式可以通過
glx協議傳送到
x server
,x server
再解析執行。
mesa
是opengl
標準的一種實現,
opengl
標準介面的實現是相當複雜的,我們就不去討論具體函式的實現了。但是我們應該知道,
mesa
用軟體實現了
opengl
標準介面,並且還可以使用硬體加速實現
opengl
標準介面(通過呼叫
3d驅動實現,按我的理解,
3d驅動是
dri的一部分)。
glx的
server
會呼叫mesa
來滿足client
的請求。
glx是
x window
中opengl
的擴充套件,它的主要功能是為
x視窗系統實現
3d效果,當然,
3d效果的真正實現並不是由
glx來實現的,而是由
mesa
實現的,
glx就是為
x window
和mesa
起到了橋梁的作用。
總上所述,
aiglx
就是一種
x視窗系統上實現
3d特效的架構,它採用擴充套件的方式使用最小的改動來實現具有硬體加速的
3d效果,它的結構圖如下:
學習後總結,總結後再學習
學習後總結,總結後再學習 2010年畢業以來,讀了幾百本書籍,包括it技術 管理 歷史 營銷 金融 心理等等,在讀某商學院mba一年後感覺有些東西還是要寫寫,除了能增加自己對某些知識和理論的理解外,也許其他人也碰巧想關注一下,了解這方面的東西。我所寫的都是一些簡單的概念層面的解釋,不會做太深入的闡述...
學習總結 近期acm學習的總結
開學已經乙個月了,對acm的學習也乙個月了,做了一下總結 對自己不好的地方的反省 1.開學一開始學的是stl,不得不說stl是乙個很好的東西,熟練的運用stl大大的減少了 量,也使演算法容易實現。但是我在用stl後使自己產生了一種惰性思維。在兩個星期的stl練習後,我發現自己變得越來越懶,不願意自己...
深度學習學習總結
北京大學人工智慧實踐 tensorflow2.0 學習1 6章 複習1 4章 第4章需要寫乙個部落格 寫4,5,6章 吳恩達深度學習第四步 卷積神經網路 學習1 2周 複習1 2周 殘差網路和inception網路不太懂,目前用不到 三四周是目標定位,人臉識別,神經風格轉換目前用不到 油管最新最熱t...