插件机制
Addons插件文件夹
这个文件夹包含各种OF的外部扩展插件,当你需要添加外部扩展插件时候,你需要把插件放到这个文件夹中。
openFrameworks 插件是额外的第三方函式库,这可以增加到你的计划里,用来扩大其功能。 每个插件网页将包括详细的说明和所需的文件,可方便地集成 openFrameworks。
插件背后的动机是为了让主要的函式库变小,易于管理,而在同一时间允许的添加其他功能,并支持其他函式库。 如果你有任何想法对于你想看到执行的其他插件,或是想增加自己的插件,请参阅 论坛。
OF FAT 已附带几个最常被使用的插件与范例:
ofxDirList : 有助于列出一个目录的内容。
ofxXmlSettings : 包装TinyXML,协助加载和储存XML(可用于储存应用程序的设定状态)。
ofxOsc : 包装 oscpack,让你用 OSC 通信协议来沟通, openframeworks被送入和送出数据到其它应用程序
ofxOpenCv : 包装部分英特尔计算器视觉库OpenCV的功能。
ofxNetwork : which contains cross platform network code for UDP and TCP communication, as well as * multicast。
ofxThread :包含题拱跨平台的线程管理程序代码。
ofxVectorMath : 包含向量数学对象,例如向量和矩阵。
ofxVectorGraphics : CreEPS 包装器,提供openframeworks易于使用的 PostScript输出。
ofx3dModelLoader : forcl ___ 包装器,这使得它可以在 openframeworks加载和显示3ds模型。
除了上面这几个 addons 之外,官网上有列出更多好心人的贡献。
实用的插件
oF 的另外一大杀手锏在于它的社区非常活跃,现在已经开发出了数量可观的第三方插件。这里只收集了极小一部分实用插件。更全面的插件列表可以访问ofxaddons.com。也可以在 Github 上搜 “ofx” ,也可以找到这些 oF 插件。
ofxUI - 华丽丽的 UI 库。提供了很多新颖而实用的界面控件。
ofxCv - OpenCV 的另一套可选的 oF 插件(oF 自带一个 oFOpenCv 插件);
ofxLibRocket - 对 librocket 库的封装,这个库允许你使用 html 和 css 来布局 C++ 窗口;
ofxTrueTypeFontUC - 对 ofTrueTypeFont 类的扩展,使其支持 Unicode 字符(例如汉字);
ofxPCL - 对 PCL(一个专门用于处理点云的库) 的封装;
ofxTimeline - 一个用来绘制可编辑的 timeline 控件的插件;
ofxMidi - Midi 音乐的插件;
ofxSpeech - 语音识别插件;
ofxVideoRecorder - 录制视频插件;
ofxImageSequence - 一个用于像播放视频一样播放图像序列的插件;
ofxGifEncoder - 生成 Gif 动画的插件;
ofxVolumetrics - 简单的体绘制插件;
ofxDelaunay -
ofxFft - 对两个用于进行傅里叶变换的库 FFTW 和 KissFFT 的封装;
ofxNodejs - 桥接 Node.js 的插件;
ofxLua - 桥接 Lua 的插件;
ofxBox2d - 对流行的 2D 物理模拟库 box2d 的封装;
ofxBullet - 对另一个物理模拟库 Bullet Physics 的封装;
ofxLearn - 通用的机器学习插件,支持分类、回归、聚类等任务;
ofxJSON - 对 Json 库 JsonCpp 的封装;
ofxHttpServer - 一个基于 libmicrohttpd 的 http 服务器插件;
ofxAddonTemplate - 一个空的目录框架,可以借鉴它自己编写插件(这都有……--bb)
使用这些插件的方法很简单:
访问这个插件的 Github 项目主页;
复制它的代码仓库地址;
进入你的 oF 根目录下的 addons 目录,git clone 这个项目;
如果这个项目自带 example ,可以直接 make && make run 编译和执行它看看结果。
参考资料
Addons - ofxaddons.com:openFrameworks oF插件介绍与汇总;
- openFrameworks Interactivity : Introduction to Addons - YouTube