資料介紹
1 引言
目前,三維用戶圖形界面已成為移動(dòng)嵌入式設(shè)備的一個(gè)
新的發(fā)展趨勢。三維用戶圖形界面的實(shí)現(xiàn)依賴于嵌入式軟件
平臺(tái)中的 3D 圖形庫。目前,嵌入式 3D 圖形庫已有業(yè)界的工
業(yè)標(biāo)準(zhǔn) OpenGL ES,它是專門為嵌入式設(shè)備設(shè)計(jì)的跨平臺(tái)的
三維圖形 API 標(biāo)準(zhǔn),是 Khronos 協(xié)會(huì)從 OpenGL 裁剪定制而來
的?;?OpenGL ES 的 API 來開發(fā)應(yīng)用程序,需要熟悉復(fù)雜
的圖形 API 和豐富的數(shù)學(xué)知識(shí),具有一定的難度。為了能夠
快速簡單地開發(fā)三維應(yīng)用,OpenedHand 公司開發(fā)了一個(gè)開源
UI 圖形庫 Clutter。
Clutter 用于創(chuàng)建快速、視覺效果豐富、支持三維圖形和動(dòng)
畫效果的用戶圖形程序。Clutter 仍然使用 OpenGL ES 作為底
層的圖形渲染庫,但是向開發(fā)者屏蔽了 GL 的 API,對(duì)其復(fù)雜
接口進(jìn)行了封裝。與 OpenGL ES 相比,Clutter 的 API 易用、
高效、并且具有很大的靈活性。
2 Clutter 的系統(tǒng)設(shè)計(jì)
Clutter 的系統(tǒng)架構(gòu)可以分為 3 個(gè)層次:核心模塊、后端實(shí)
現(xiàn)以及系統(tǒng)平臺(tái)支持,如圖 1 所示。Clutter 的核心模塊包括界
面元素模塊 UI elements、GL 抽象層 COGL、UI 腳本模塊 JSon
以及事件處理模塊 Event Loop。Clutter 的后端實(shí)現(xiàn)層是指
Clutter 與窗口系統(tǒng) X11 以及 EGL 的集成部分。系統(tǒng)平臺(tái)支持
層是指 Clutter 對(duì)系統(tǒng)平臺(tái)的依賴部分,包括 OpenGL ES,
EGL,以及 X Window 等。
界面元素GL 抽象庫事件處理UI 描述腳本Clutter
UI elementsCOGLEvent LoopJSon核心模塊
Clutter-EglX 后端Clutter-X11 后端Clutter
后端實(shí)現(xiàn)
OpenGL ESEGLX11Pango系統(tǒng)平臺(tái)
2.1 界面元素模塊
Clutter 的繪圖模型采用的是基于場景圖的保留模式。場
景具有三維空間,場景中的每個(gè)對(duì)象都代表了三維空間中的
一個(gè)二維曲面,采用二維圖形來表達(dá)三維效果。場景圖的頂
層容器稱為 Stage,場景圖中的基本界面元素稱為 Actor。Stage
就是一個(gè)預(yù)設(shè)的三維空間。標(biāo)準(zhǔn)的 Actor 具有 2D 形狀,能夠
在三維空間進(jìn)行縮放、旋轉(zhuǎn)、部分透明等變換。
可以將多個(gè) Actor 組合成一個(gè) Group,然后對(duì)這個(gè) Group
作變換時(shí),Group 中的所有 Actor 就會(huì)跟著一起改變,相當(dāng)?shù)?/p>
方便。多個(gè) Group 還可以再組合成另一個(gè) group 里,這樣可以
很方便去設(shè)計(jì)一些動(dòng)畫。
2.2 GL 抽象層
COGL 是 Clutter 定義的一個(gè) GL 的抽象庫,它提供了一套
通用的渲染 API,對(duì) OpenGL 1.4 及更高版本, OpenGL ES 1.1
和 OpenGL ES 2.0 進(jìn)行了封裝。其目的是增強(qiáng) Clutter 在各個(gè)
OpenGL 和 OpenGL ES 版本之間的可移植性。
2.3 基于腳本的 UI 描述
JSon 是 Clutter 提供的一種描述用戶圖形界面的腳本語言,
它的語法源自 JSON (JavaScript Objective Notation)。JSon 所描
述的每一個(gè) UI 元素都稱之為對(duì)象。JSon 支持的對(duì)象類型十分
廣泛,不僅包括所有的 Actor 和 Container,還支持 Behavior 對(duì)
象。應(yīng)用程序動(dòng)態(tài)加載 JSon 描述文件并獲取其中的對(duì)象,來
構(gòu)建 UI 圖形界面。
2.4 Clutter 的后端實(shí)現(xiàn)
Clutter 作為一個(gè) GUI 圖形庫,必須和底層的窗口系統(tǒng)集
成。目前,Clutter 提供了基于 X Window 的實(shí)現(xiàn):Clutter-X11
后端和 Clutter-eglx 后端。Clutter 后端對(duì)象的繼承關(guān)系如圖 2Clutter 在Linux 中的探究
- Linux總線、設(shè)備、驅(qū)動(dòng)模型的探究 7次下載
- 探究USB協(xié)議架構(gòu)及驅(qū)動(dòng)架構(gòu) 1次下載
- 探究LRC產(chǎn)品在智能手機(jī)中的應(yīng)用.pdf 13次下載
- 探究高壓放大器基于壓電陶瓷損傷識(shí)別中的應(yīng)用 3次下載
- 探究高壓放大器基于干涉儀的設(shè)計(jì)與優(yōu)化中的應(yīng)用 9次下載
- 探究labview如何與基恩士PLC通信 66次下載
- MATLAB在電路中的應(yīng)用PPT課件下載 31次下載
- Linux系統(tǒng)中EXP命令詳解質(zhì)量匯總 1次下載
- 伙伴算法如何才能在Linux內(nèi)核中實(shí)現(xiàn)應(yīng)用及其改進(jìn) 14次下載
- 在Linux操作鴻蒙開發(fā)板實(shí)現(xiàn)Helloworld程序 4次下載
- 如何學(xué)習(xí)Linux學(xué)習(xí)Linux的詳細(xì)步驟說明 63次下載
- 在Linux中限制用戶空間 0次下載
- 基于JPEG在嵌入式Linux中的應(yīng)用 6次下載
- 嵌入式Linux在航空拍攝中的應(yīng)用 50次下載
- Linux在嵌入式系統(tǒng)中的實(shí)現(xiàn)
- 在Linux中查看IP地址的方法 7773次閱讀
- 詳解Linux中的權(quán)限控制 639次閱讀
- 使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時(shí) Linux 內(nèi)核 2658次閱讀
- Linux操作系統(tǒng)中如何按下PCIe的復(fù)位鍵 1687次閱讀
- linux中管道符的使用 4292次閱讀
- 深入探索Linux中的C語言 2015次閱讀
- 如何在Linux中查看隱藏文件 1.5w次閱讀
- 在Linux系統(tǒng)中系統(tǒng)變量存在哪里呢? 1955次閱讀
- linux實(shí)際使用中的技巧 764次閱讀
- Linux內(nèi)核中整合對(duì) Rust 的支持 1195次閱讀
- 詳談Linux操作系統(tǒng)中的顯示服務(wù)器 2056次閱讀
- 新手必知:什么是 Linux 中的桌面環(huán)境? 2749次閱讀
- Win10 中如何運(yùn)行 Linux 發(fā)行版? 3685次閱讀
- 在linux中如何查詢端口被占用的情況 5382次閱讀
- 在 Linux 中如何編寫基本的 udev 規(guī)則并了解其基本的概念和邏輯 5582次閱讀
下載排行
本周
- 1索尼333ESL電路圖資料
- 10.11 MB | 2次下載 | 免費(fèi)
- 2TINA-TI 模擬電路設(shè)計(jì)、仿真和分析軟件中文教程
- 3.83 MB | 0次下載 | 5 積分
- 3SS6548D40V 直流有刷電機(jī)驅(qū)動(dòng)芯片中文資料
- 1.55 MB | 次下載 | 1 積分
- 4SS6235M 4A 33V性價(jià)比超高電機(jī)驅(qū)動(dòng)芯片中文資料
- 1.26 MB | 次下載 | 免費(fèi)
- 5FP7195-中文應(yīng)用說明書
- 0.93 MB | 次下載 | 免費(fèi)
- 6VSA101-G250T01-I 電壓傳感器產(chǎn)品使用手冊(cè)
- 0.72 MB | 次下載 | 免費(fèi)
- 7FS4056E系列單節(jié)線線充電IC
- 2.41 MB | 次下載 | 免費(fèi)
- 8FS5281E(5V USB輸入雙節(jié)鋰電池串聯(lián)應(yīng)用升壓充電管理IC)
- 3.30 MB | 次下載 | 免費(fèi)
本月
- 148V到5KW無橋LLC雙向逆變器的電路原理圖免費(fèi)下載
- 0.26 MB | 157次下載 | 10 積分
- 22KW逆變側(cè)功率管的損耗如何進(jìn)行計(jì)算詳細(xì)公式免費(fèi)下載
- 0.40 MB | 33次下載 | 2 積分
- 3高功率密度碳化硅MOSFET軟開關(guān)三相逆變器損耗分析
- 2.27 MB | 33次下載 | 5 積分
- 4STM32F10x參考手冊(cè)資料
- 13.64 MB | 12次下載 | 1 積分
- 5光伏并網(wǎng)逆變器原理
- 7.31 MB | 7次下載 | 2 積分
- 6SW5099規(guī)格書
- 1.37 MB | 6次下載 | 1 積分
- 7星火6J3-1交直流二波段收音機(jī)電路圖資料
- 1.86 MB | 6次下載 | 免費(fèi)
- 8S7-200 可編程序控制器系統(tǒng)手冊(cè)
- 12.81 MB | 5次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935134次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191422次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183352次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81600次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73818次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論