插件机制

Addons插件文件夹

这个文件夹包含各种OF的外部扩展插件,当你需要添加外部扩展插件时候,你需要把插件放到这个文件夹中。

openFrameworks 插件是额外的第三方函式库,这可以增加到你的计划里,用来扩大其功能。 每个插件网页将包括详细的说明和所需的文件,可方便地集成 openFrameworks。

插件背后的动机是为了让主要的函式库变小,易于管理,而在同一时间允许的添加其他功能,并支持其他函式库。 如果你有任何想法对于你想看到执行的其他插件,或是想增加自己的插件,请参阅 论坛。

OF FAT 已附带几个最常被使用的插件与范例:

  1. ofxDirList : 有助于列出一个目录的内容。

  2. ofxXmlSettings : 包装TinyXML,协助加载和储存XML(可用于储存应用程序的设定状态)。

  3. ofxOsc : 包装 oscpack,让你用 OSC 通信协议来沟通, openframeworks被送入和送出数据到其它应用程序

  4. ofxOpenCv : 包装部分英特尔计算器视觉库OpenCV的功能。

  5. ofxNetwork : which contains cross platform network code for UDP and TCP communication, as well as * multicast。

  6. ofxThread :包含题拱跨平台的线程管理程序代码。

  7. ofxVectorMath : 包含向量数学对象,例如向量和矩阵。

  8. ofxVectorGraphics : CreEPS 包装器,提供openframeworks易于使用的 PostScript输出。

  9. ofx3dModelLoader : forcl ___ 包装器,这使得它可以在 openframeworks加载和显示3ds模型。

除了上面这几个 addons 之外,官网上有列出更多好心人的贡献。

实用的插件

oF 的另外一大杀手锏在于它的社区非常活跃,现在已经开发出了数量可观的第三方插件。这里只收集了极小一部分实用插件。更全面的插件列表可以访问ofxaddons.com。也可以在 Github 上搜 “ofx” ,也可以找到这些 oF 插件。

  1. ofxUI - 华丽丽的 UI 库。提供了很多新颖而实用的界面控件。

  2. ofxCv - OpenCV 的另一套可选的 oF 插件(oF 自带一个 oFOpenCv 插件);

  3. ofxLibRocket - 对 librocket 库的封装,这个库允许你使用 html 和 css 来布局 C++ 窗口;

  4. ofxTrueTypeFontUC - 对 ofTrueTypeFont 类的扩展,使其支持 Unicode 字符(例如汉字);

  5. ofxPCL - 对 PCL(一个专门用于处理点云的库) 的封装;

  6. ofxTimeline - 一个用来绘制可编辑的 timeline 控件的插件;

  7. ofxMidi - Midi 音乐的插件;

  8. ofxSpeech - 语音识别插件;

  9. ofxVideoRecorder - 录制视频插件;

  10. ofxImageSequence - 一个用于像播放视频一样播放图像序列的插件;

  11. ofxGifEncoder - 生成 Gif 动画的插件;

  12. ofxVolumetrics - 简单的体绘制插件;

  13. ofxDelaunay -

  14. ofxFft - 对两个用于进行傅里叶变换的库 FFTW 和 KissFFT 的封装;

  15. ofxNodejs - 桥接 Node.js 的插件;

  16. ofxLua - 桥接 Lua 的插件;

  17. ofxBox2d - 对流行的 2D 物理模拟库 box2d 的封装;

  18. ofxBullet - 对另一个物理模拟库 Bullet Physics 的封装;

  19. ofxLearn - 通用的机器学习插件,支持分类、回归、聚类等任务;

  20. ofxJSON - 对 Json 库 JsonCpp 的封装;

  21. ofxHttpServer - 一个基于 libmicrohttpd 的 http 服务器插件;

  22. ofxAddonTemplate - 一个空的目录框架,可以借鉴它自己编写插件(这都有……--bb)

使用这些插件的方法很简单:

  1. 访问这个插件的 Github 项目主页;

  2. 复制它的代码仓库地址;

  3. 进入你的 oF 根目录下的 addons 目录,git clone 这个项目;

  4. 如果这个项目自带 example ,可以直接 make && make run 编译和执行它看看结果。

参考资料

  1. Addons - ofxaddons.com:openFrameworks oF插件介绍与汇总;

  2. openFrameworks Interactivity : Introduction to Addons - YouTube