电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>嵌入式开发>Clutter 在Linux 中的探究

Clutter 在Linux 中的探究

2017-10-19 | rar | 0.6 MB | 次下载 | 1积分

资料介绍

  1 引言

  目前,三维用户图形界面已成为移动嵌入式设备的一个

  新的发展趋势。三维用户图形界面的实现依赖于嵌入式软件

  平台中的 3D 图形库。目前,嵌入式 3D 图形库已有业界的工

  业标准 OpenGL ES,它是专门为嵌入式设备设计的跨平台的

  三维图形 API 标准,是 Khronos 协会从 OpenGL 裁剪定制而来

  的。基于 OpenGL ES 的 API 来开发应用程序,需要熟悉复杂

  的图形 API 和丰富的数学知识,具有一定的难度。为了能够

  快速简单地开发三维应用,OpenedHand 公司开发了一个开源

  UI 图形库 Clutter。

  Clutter 用于创建快速、视觉效果丰富、支持三维图形和动

  画效果的用户图形程序。Clutter 仍然使用 OpenGL ES 作为底

  层的图形渲染库,但是向开发者屏蔽了 GL 的 API,对其复杂

  接口进行了封装。与 OpenGL ES 相比,Clutter 的 API 易用、

  高效、并且具有很大的灵活性。

  2 Clutter 的系统设计

  Clutter 的系统架构可以分为 3 个层次:核心模块、后端实

  现以及系统平台支持,如图 1 所示。Clutter 的核心模块包括界

  面元素模块 UI elements、GL 抽象层 COGL、UI 脚本模块 JSon

  以及事件处理模块 Event Loop。Clutter 的后端实现层是指

  Clutter 与窗口系统 X11 以及 EGL 的集成部分。系统平台支持

  层是指 Clutter 对系统平台的依赖部分,包括 OpenGL ES,

  EGL,以及 X Window 等。

  界面元素GL 抽象库事件处理UI 描述脚本Clutter

  UI elementsCOGLEvent LoopJSon核心模块

  Clutter-EglX 后端Clutter-X11 后端Clutter

  后端实现

  OpenGL ESEGLX11Pango系统平台

  2.1 界面元素模块

  Clutter 的绘图模型采用的是基于场景图的保留模式。场

  景具有三维空间,场景中的每个对象都代表了三维空间中的

  一个二维曲面,采用二维图形来表达三维效果。场景图的顶

  层容器称为 Stage,场景图中的基本界面元素称为 Actor。Stage

  就是一个预设的三维空间。标准的 Actor 具有 2D 形状,能够

  在三维空间进行缩放、旋转、部分透明等变换。

  可以将多个 Actor 组合成一个 Group,然后对这个 Group

  作变换时,Group 中的所有 Actor 就会跟着一起改变,相当的

  方便。多个 Group 还可以再组合成另一个 group 里,这样可以

  很方便去设计一些动画。

  2.2 GL 抽象层

  COGL 是 Clutter 定义的一个 GL 的抽象库,它提供了一套

  通用的渲染 API,对 OpenGL 1.4 及更高版本, OpenGL ES 1.1

  和 OpenGL ES 2.0 进行了封装。其目的是增强 Clutter 在各个

  OpenGL 和 OpenGL ES 版本之间的可移植性。

  2.3 基于脚本的 UI 描述

  JSon 是 Clutter 提供的一种描述用户图形界面的脚本语言,

  它的语法源自 JSON (JavaScript Objective Notation)。JSon 所描

  述的每一个 UI 元素都称之为对象。JSon 支持的对象类型十分

  广泛,不仅包括所有的 Actor 和 Container,还支持 Behavior 对

  象。应用程序动态加载 JSon 描述文件并获取其中的对象,来

  构建 UI 图形界面。

  2.4 Clutter 的后端实现

  Clutter 作为一个 GUI 图形库,必须和底层的窗口系统集

  成。目前,Clutter 提供了基于 X Window 的实现:Clutter-X11

  后端和 Clutter-eglx 后端。Clutter 后端对象的继承关系如图 2Clutter 在Linux 中的探究

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  6次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5基于FPGA的光纤通信系统的设计与实现
  10. 0.61 MB  |  2次下载  |  免费
  11. 6基于FPGA的C8051F单片机开发板设计
  12. 0.70 MB  |  2次下载  |  免费
  13. 751单片机窗帘控制器仿真程序
  14. 1.93 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33564次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21548次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6653次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537796次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191185次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183278次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费