資料介紹
1 引言
目前,三維用戶圖形界面已成為移動嵌入式設(shè)備的一個
新的發(fā)展趨勢。三維用戶圖形界面的實現(xiàn)依賴于嵌入式軟件
平臺中的 3D 圖形庫。目前,嵌入式 3D 圖形庫已有業(yè)界的工
業(yè)標(biāo)準(zhǔn) OpenGL ES,它是專門為嵌入式設(shè)備設(shè)計的跨平臺的
三維圖形 API 標(biāo)準(zhǔn),是 Khronos 協(xié)會從 OpenGL 裁剪定制而來
的。基于 OpenGL ES 的 API 來開發(fā)應(yīng)用程序,需要熟悉復(fù)雜
的圖形 API 和豐富的數(shù)學(xué)知識,具有一定的難度。為了能夠
快速簡單地開發(fā)三維應(yīng)用,OpenedHand 公司開發(fā)了一個開源
UI 圖形庫 Clutter。
Clutter 用于創(chuàng)建快速、視覺效果豐富、支持三維圖形和動
畫效果的用戶圖形程序。Clutter 仍然使用 OpenGL ES 作為底
層的圖形渲染庫,但是向開發(fā)者屏蔽了 GL 的 API,對其復(fù)雜
接口進(jìn)行了封裝。與 OpenGL ES 相比,Clutter 的 API 易用、
高效、并且具有很大的靈活性。
2 Clutter 的系統(tǒng)設(shè)計
Clutter 的系統(tǒng)架構(gòu)可以分為 3 個層次:核心模塊、后端實
現(xiàn)以及系統(tǒng)平臺支持,如圖 1 所示。Clutter 的核心模塊包括界
面元素模塊 UI elements、GL 抽象層 COGL、UI 腳本模塊 JSon
以及事件處理模塊 Event Loop。Clutter 的后端實現(xiàn)層是指
Clutter 與窗口系統(tǒng) X11 以及 EGL 的集成部分。系統(tǒng)平臺支持
層是指 Clutter 對系統(tǒng)平臺的依賴部分,包括 OpenGL ES,
EGL,以及 X Window 等。
界面元素GL 抽象庫事件處理UI 描述腳本Clutter
UI elementsCOGLEvent LoopJSon核心模塊
Clutter-EglX 后端Clutter-X11 后端Clutter
后端實現(xiàn)
OpenGL ESEGLX11Pango系統(tǒng)平臺
2.1 界面元素模塊
Clutter 的繪圖模型采用的是基于場景圖的保留模式。場
景具有三維空間,場景中的每個對象都代表了三維空間中的
一個二維曲面,采用二維圖形來表達(dá)三維效果。場景圖的頂
層容器稱為 Stage,場景圖中的基本界面元素稱為 Actor。Stage
就是一個預(yù)設(shè)的三維空間。標(biāo)準(zhǔn)的 Actor 具有 2D 形狀,能夠
在三維空間進(jìn)行縮放、旋轉(zhuǎn)、部分透明等變換。
可以將多個 Actor 組合成一個 Group,然后對這個 Group
作變換時,Group 中的所有 Actor 就會跟著一起改變,相當(dāng)?shù)?/p>
方便。多個 Group 還可以再組合成另一個 group 里,這樣可以
很方便去設(shè)計一些動畫。
2.2 GL 抽象層
COGL 是 Clutter 定義的一個 GL 的抽象庫,它提供了一套
通用的渲染 API,對 OpenGL 1.4 及更高版本, OpenGL ES 1.1
和 OpenGL ES 2.0 進(jìn)行了封裝。其目的是增強(qiáng) Clutter 在各個
OpenGL 和 OpenGL ES 版本之間的可移植性。
2.3 基于腳本的 UI 描述
JSon 是 Clutter 提供的一種描述用戶圖形界面的腳本語言,
它的語法源自 JSON (JavaScript Objective Notation)。JSon 所描
述的每一個 UI 元素都稱之為對象。JSon 支持的對象類型十分
廣泛,不僅包括所有的 Actor 和 Container,還支持 Behavior 對
象。應(yīng)用程序動態(tài)加載 JSon 描述文件并獲取其中的對象,來
構(gòu)建 UI 圖形界面。
2.4 Clutter 的后端實現(xiàn)
Clutter 作為一個 GUI 圖形庫,必須和底層的窗口系統(tǒng)集
成。目前,Clutter 提供了基于 X Window 的實現(xiàn):Clutter-X11
后端和 Clutter-eglx 后端。Clutter 后端對象的繼承關(guān)系如圖 2Clutter 在Linux 中的探究
- Linux總線、設(shè)備、驅(qū)動模型的探究 7次下載
- 探究USB協(xié)議架構(gòu)及驅(qū)動架構(gòu) 1次下載
- 探究LRC產(chǎn)品在智能手機(jī)中的應(yīng)用.pdf 13次下載
- 探究高壓放大器基于壓電陶瓷損傷識別中的應(yīng)用 3次下載
- 探究高壓放大器基于干涉儀的設(shè)計與優(yōu)化中的應(yīng)用 9次下載
- 探究labview如何與基恩士PLC通信 64次下載
- MATLAB在電路中的應(yīng)用PPT課件下載 31次下載
- Linux系統(tǒng)中EXP命令詳解質(zhì)量匯總 1次下載
- 伙伴算法如何才能在Linux內(nèi)核中實現(xiàn)應(yīng)用及其改進(jìn) 14次下載
- 在Linux操作鴻蒙開發(fā)板實現(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)中的實現(xiàn)
- 在Linux中查看IP地址的方法 3896次閱讀
- 詳解Linux中的權(quán)限控制 209次閱讀
- 使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實時 Linux 內(nèi)核 1284次閱讀
- Linux操作系統(tǒng)中如何按下PCIe的復(fù)位鍵 1183次閱讀
- linux中管道符的使用 4058次閱讀
- 深入探索Linux中的C語言 1228次閱讀
- 如何在Linux中查看隱藏文件 1.5w次閱讀
- 在Linux系統(tǒng)中系統(tǒng)變量存在哪里呢? 1735次閱讀
- linux實際使用中的技巧 666次閱讀
- Linux內(nèi)核中整合對 Rust 的支持 1103次閱讀
- 詳談Linux操作系統(tǒng)中的顯示服務(wù)器 1929次閱讀
- 新手必知:什么是 Linux 中的桌面環(huán)境? 2630次閱讀
- Win10 中如何運行 Linux 發(fā)行版? 3572次閱讀
- 在linux中如何查詢端口被占用的情況 5268次閱讀
- 在 Linux 中如何編寫基本的 udev 規(guī)則并了解其基本的概念和邏輯 5477次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多