資料介紹
1 引言
目前,三維用戶圖形界面已成為移動(dòng)嵌入式設(shè)備的一個(gè)
新的發(fā)展趨勢(shì)。三維用戶圖形界面的實(shí)現(xiàn)依賴于嵌入式軟件
平臺(tái)中的 3D 圖形庫(kù)。目前,嵌入式 3D 圖形庫(kù)已有業(yè)界的工
業(yè)標(biāo)準(zhǔn) OpenGL ES,它是專門(mén)為嵌入式設(shè)備設(shè)計(jì)的跨平臺(tái)的
三維圖形 API 標(biāo)準(zhǔn),是 Khronos 協(xié)會(huì)從 OpenGL 裁剪定制而來(lái)
的?;?OpenGL ES 的 API 來(lái)開(kāi)發(fā)應(yīng)用程序,需要熟悉復(fù)雜
的圖形 API 和豐富的數(shù)學(xué)知識(shí),具有一定的難度。為了能夠
快速簡(jiǎn)單地開(kāi)發(fā)三維應(yīng)用,OpenedHand 公司開(kāi)發(fā)了一個(gè)開(kāi)源
UI 圖形庫(kù) Clutter。
Clutter 用于創(chuàng)建快速、視覺(jué)效果豐富、支持三維圖形和動(dòng)
畫(huà)效果的用戶圖形程序。Clutter 仍然使用 OpenGL ES 作為底
層的圖形渲染庫(kù),但是向開(kāi)發(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 抽象庫(kù)事件處理UI 描述腳本Clutter
UI elementsCOGLEvent LoopJSon核心模塊
Clutter-EglX 后端Clutter-X11 后端Clutter
后端實(shí)現(xiàn)
OpenGL ESEGLX11Pango系統(tǒng)平臺(tái)
2.1 界面元素模塊
Clutter 的繪圖模型采用的是基于場(chǎng)景圖的保留模式。場(chǎng)
景具有三維空間,場(chǎng)景中的每個(gè)對(duì)象都代表了三維空間中的
一個(gè)二維曲面,采用二維圖形來(lái)表達(dá)三維效果。場(chǎng)景圖的頂
層容器稱為 Stage,場(chǎng)景圖中的基本界面元素稱為 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)畫(huà)。
2.2 GL 抽象層
COGL 是 Clutter 定義的一個(gè) GL 的抽象庫(kù),它提供了一套
通用的渲染 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 提供的一種描述用戶圖形界面的腳本語(yǔ)言,
它的語(yǔ)法源自 JSON (JavaScript Objective Notation)。JSon 所描
述的每一個(gè) UI 元素都稱之為對(duì)象。JSon 支持的對(duì)象類型十分
廣泛,不僅包括所有的 Actor 和 Container,還支持 Behavior 對(duì)
象。應(yīng)用程序動(dòng)態(tài)加載 JSon 描述文件并獲取其中的對(duì)象,來(lái)
構(gòu)建 UI 圖形界面。
2.4 Clutter 的后端實(shí)現(xiàn)
Clutter 作為一個(gè) GUI 圖形庫(kù),必須和底層的窗口系統(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操作鴻蒙開(kāi)發(fā)板實(shí)現(xiàn)Helloworld程序 4次下載
- 如何學(xué)習(xí)Linux學(xué)習(xí)Linux的詳細(xì)步驟說(shuō)明 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語(yǔ)言 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 中如何編寫(xiě)基本的 udev 規(guī)則并了解其基本的概念和邏輯 5582次閱讀
下載排行
本周
- 1EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
- 0.42 MB | 4次下載 | 2 積分
- 2AU3116 2×60W模擬輸入雙通道Class-D 音頻功率放大器數(shù)據(jù)手冊(cè)
- 1.19 MB | 1次下載 | 免費(fèi)
- 3低壓降肖特基整流管SR340L數(shù)據(jù)手冊(cè)
- 0.78 MB | 1次下載 | 免費(fèi)
- 4ZX8002E 觸摸調(diào)光LED集成IC數(shù)據(jù)手冊(cè)
- 2.27 MB | 次下載 | 免費(fèi)
- 5SOD-323塑料封裝ESD保護(hù)二極管SD05T系列規(guī)格書(shū)
- 1.07 MB | 次下載 | 免費(fèi)
- 6SOT-23塑料封裝ESD保護(hù)二極管SMxx Series系列規(guī)格書(shū)
- 0.93 MB | 次下載 | 免費(fèi)
- 7高效率整流二極管HER151 THRU HER158數(shù)據(jù)手冊(cè)
- 0.54 MB | 次下載 | 免費(fèi)
- 8低壓降肖特基整流管SL22 THRU SL210數(shù)據(jù)手冊(cè)
- 1.03 MB | 次下載 | 免費(fèi)
本月
- 1三相逆變主電路的原理圖和PCB資料合集免費(fèi)下載
- 27.35 MB | 111次下載 | 1 積分
- 2運(yùn)算放大器基本電路中文資料
- 1.30 MB | 16次下載 | 免費(fèi)
- 3蘋(píng)果iphone 11電路原理圖
- 4.98 MB | 11次下載 | 5 積分
- 4TL494工業(yè)用開(kāi)關(guān)電源原理圖資料
- 0.22 MB | 10次下載 | 1 積分
- 5常用電子元器件介紹
- 3.21 MB | 8次下載 | 免費(fèi)
- 6QW2893應(yīng)急燈專用檢測(cè)芯片
- 590.40 KB | 4次下載 | 免費(fèi)
- 7相關(guān)協(xié)議信號(hào)總結(jié)
- 0.94 MB | 4次下載 | 免費(fèi)
- 8EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
- 0.42 MB | 4次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935130次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183344次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81591次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論