一:openFrameworks是什么?
openFrameworks(以下简称 oF) 是一个开源的、跨平台的 C++ 工具包,。旨在开发实时项目,重点是生成和处理图形和声音。如今,这是一个很受欢迎的实验平台,用于生成和声音艺术,以及创作互动装置和视听表演。
oF 的强大之处在于,它不仅是一个通用的胶水(glue),同时它还封装了多种常用的库,包括:
- OpenGL、GLEW、GLUT、libtess2、cairo - 用于处理图形;
- rtAudio、PortAudio、OpenAL、Kiss FFT、FMOD - 用于音频的输入、输出和分析;
- FreeType - 用于字体显示;
- FreeImage - 用于图像存储和载入;
- Quicktime、GStreamer、videoInput - 用于视频播放和截取;
- Poco - 用于开发网络应用;
- OpenCV - 用于计算机视觉;
- Assimp - 用于读入 3D 模型。
这些库虽然遵循着不同的规则和用法,但 oF 在它们基础上提供了一个通用的接口,使得使用它们变得很容易。
除此之外,oF 的另一亮点在于它具有很好的跨平台特性。目前它支持 5 种操作系统(Windows、OSX、Linux、iOS、Android)以及 4 种 集成开发环境(XCode、Code::Blocks、Visual Studio、Eclipse)。
二:openframeworks有哪些人可以学?
如果你是一个对用oF进行创造性编码感兴趣的视觉艺术家、设计师,多媒体展览展示项目人员或程序员,oF都适合你。
三:windows平台openFrameworks的安装
安装步骤:
1,安装Microsoft Visual Studio community 2017或2019(后面简称:VS)。下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/,这个安装包比较大,一般有10几个G,根据网速快速,安装需要不同的时间。
2,oF安装包,下载地址:
https://openframeworks.cc/download/,下载windows对应的安装包。直接解压即可。, 最新版本的是0.11,不过我电脑上是0.9.6版,功能大同小异。
四:openFrameworks 框架构成:
解压后可以看到不同的文件夹,这些文件的意思是:
examples文件夹:
3d:关于3D图形图像方面的知识。如摄像机,灯光,材质等。
addons:插件,可以用插件扩展oF功能。官网上有很多已经开源的插件,
communication:通信,232 485 串口,Arduino等
empty:包含了一个emptyExample,最原始的oF代码格式,什么功能都没有。
Events:事件处理机制。如键盘鼠标按下,系统响应等。
gl:openGL方面的知识,如FBO,VBO,shaders等。
graphics:2d绘图。如:字体,图片,颜色等
gui:添加用户接口,如:按钮,滑条,复选框等。
math:数学库。
shader:着色器。Frament Shader Vertex Shader等。
sound:声音。如:播放,录制声音等。
utils:工具类。如:类型转换,文件操作,xml等
video:视频。视频抓取,播放等。
app文件夹:
新创建的项目放在这个文件夹下。
addons文件夹:
插件,扩展oF的基本功能,
libs文件夹:
依赖库。
projectGenerator-vs:
通过projectGenerator.exe可以新建项目,后面再具体介绍。
五:运行第一个案例:
打开examples\3d\pointPickerExample ,双击pointPickerExample.sln 在VS中打开
运行后显示结果:
项目文件组成:
bin:二进制文件,编译好的exe,以及dll、 data等都在这个文件夹里,直接拷出来放在别的电脑上就可以运行。
obj:编译过程中生成的obj临时文件。
src:c++源文件,包含:ofApp.h ofApp.cpp main.cpp 所有自定义的代码都在src这个文件加下。
六:创建一个新的工程:
最常见的一种方式是:
projectGenerator-vs文件夹下,双击projectGenerator.exe,弹出对话框:
Project name下自定义工程名称,路径不用修改,如果要用到插件,需要在Addons选取。再按Generate,一个新的工程文件就在VS中打开了。
下一节起正式进入代码编程阶段了。小伙伴们,是不是准备要跃跃欲试了,我计划分享以下几个方面:2d图形绘制、视频、声音、3d、OpenGL、视觉与OpenCV,网络等。