|
|
|
|
关于 Clutter
作者:
刘鹏
日期:
2009-06-30
本文简要介绍了 Clutter 项目。
|
简介
clutter 是一个开源软件库,用于创建速度快 (fast)、视觉效果丰富
(visually rich)、支持 3D 和动画 (animated) 的图形用户界面。
clutter 使用 OpenGL 进行渲染,clutter 的 API 对 OpenGL 进行了封装,以
对 Clutter 使用者隐藏 GL 复杂性。clutter API 的目的是易用、高效并且具
有很大的灵活性。
特征
- Scene-graph of layered 2D interface elements manipulated in 3D space via position, grouping, transparency, scaling, clipping and rotation.
- Frame based animation engine providing path interpolation, transitions and other custom effects via Behaviours and Timelines.
- Scriptable JSON based layout and animation file support.
- Advanced input event handling including multiple pointing devices.
- Custom Pango renderer providing efficient internationalised UTF8 text rendering.
- Support for high end Open GL features such as Shaders and FBOs.
- Support for media playback with GStreamer, Cairo graphics rendering, GTK+ embedding, Box2D physics engine and WebKit web rendering are available via optional add-on libraries.
- Object oriented design via GObject with a familiar GTK+ like API.
- Runs on Linux, Windows and OSX with backend window system support for GLX, EGL, WGL, SDL and Cocoa.
- Support for mobile devices with fixed point internals and portability across Open GL, OpenGL ES 1.1 and OpenGL ES 2.0
- 基于 C 开发, 实现了与 Perl, Python, C#, C++, Vala、Ruby等语言的绑定.
层次结构
| ClutterStage | ClutterActor | ClutterTimerline | ClutterAlpha | ClutterBehaviour |
-----------------------------------------------------------------------------------
| GObect | Glib | GdkPixBuf | Pango | COGL |
-----------------------------------------------------------------------------------
| X11 | GLX |
-----------------------------------------------------------------------------------
其它
clutter 的目的是成为一个通用的、提供丰富功能的底层库,帮助使用者快速方便的创建面向特定需要的高层 tool kit.
clutter 基于 GNU LGPL 发布,它收到开源社区的支持和 OpenHand 的商业赞助。
clutter blog 有最近的 clutter 新闻、开发进展、截图等信息。
SeeAlso:About Clutter
|
|