博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
可跨平台C++开源图形图像框架:openFrameworks
阅读量:5233 次
发布时间:2019-06-14

本文共 2187 字,大约阅读时间需要 7 分钟。

博客参考: 和 

什么是 openFrameworks

openFrameworks(以下简称 oF) 是一个开源的、跨平台的 C++ 工具包,它的设计目的为开发创造过程提供一个更加简单和直观的框架。openFrameworks 设计的初衷不是为计算机专业人士准备的, 而是为艺术专业人士准备的, 就像 Processing 一样.

oF 的强大之处在于,它不仅是一个通用的胶水(glue),同时它还封装了多种常用的库,包括:

  • 、、、、 - 用于处理图形;
  • 、、、、 - 用于音频的输入、输出和分析;
  •  - 用于字体显示;
  •  - 用于图像存储和载入;
  • 、、 - 用于视频播放和截取;
  •  - 用于开发网络应用;
  •  - 用于计算机视觉;
  •  - 用于读入 3D 模型。

这些库虽然遵循着不同的规则和用法,但 oF 在它们基础上提供了一个通用的接口,使得使用它们变得很容易。除此之外,oF 的另一亮点在于它具有很好的跨平台特性。目前它支持 5 种操作系统(Windows、OSX、Linux、iOS、Android)以及 4 种 集成开发环境(XCode、Code::Blocks、Visual Studio、Eclipse)。

安装和配置 oF

下面介绍如何在 Windows下安装和配置 。

超级简单的代码结构

其实 openFrameworks 最值得称道的是它的代码结构极其简单, 假设你的项目名为 myOF, 那么代码结构如下:

#include "myOF.h" //--------------------------------------------------------------void myOF::setup(){ } //--------------------------------------------------------------void myOF::update(){ } //--------------------------------------------------------------void myOF::draw(){ } //--------------------------------------------------------------void myOF::keyPressed(int key){ }...

如果你有过使用 Processing 的经验, 就会感觉非常熟悉, 没错, 这些函数跟 Processing 中的含义完全一样.

  • setup 在程序启动时执行一次;
  • draw 在程序启动后每秒执行60次(该频率可设), 用来绘制图形;
  • update 跟 draw 一样, 每秒执行60次, 把需要更新的代码放在这里;
  • keyPressed 处理按键事件;
  • 还有处理鼠标事件的一系列函数, 这里就不赘述了.

为什么会使用这种代码结构? 因为 openFrameworks 原本的设计目的就是要让非计算机专业的人士通过编程来创造各种计算机视觉/图像/视频/声音艺术, 就像 Processing 的设计目标一样, 所以它才会搞成这种简单易用但是功能强大的形式.

环境配置

openFrameworks plugin for Visual Studio

Before you're able to use openFrameworks with Visual Studio, you have to have Common Tools for Visual C++ 2017 installed, otherwise you'll get an error message later on. To install, go to File > New > Project and choose Visual C++ in the installed templates section. There now should be an option to install the tools, if they aren't already. Select it, confirm with 'OK' and follow the instructions.

From Visual Studio, go to Tools > Extensions and Updates. Select online and search for openFrameworks and install the plugin.

That will allow you to use File > New > Project... to create new openFrameworks projects and the contextual menu on any project to later add and remove addons

 

Example这个文件夹下边包含各种应用,也是学习、参考of的开始

  • 开启VS2017,打开example下的任何一个工程,找到后缀名.sln的文件,双击开启
  • 编译、运行即可

 

转载于:https://www.cnblogs.com/flyinggod/p/10785233.html

你可能感兴趣的文章
Java多线程编程核心技术-第2章-对象及变量的并发访问-读书笔记
查看>>
Java多线程编程核心技术-第5章-定时器 Timer-读书笔记
查看>>
Java多线程编程核心技术-第7章-拾遗增补-读书笔记
查看>>
Java多线程编程核心技术-第3章-线程间通信-读书笔记
查看>>
Java多线程编程核心技术-第4章-Lock的使用-读书笔记
查看>>
Java多线程编程核心技术-第6章-单例模式与多线程-读书笔记
查看>>
[转载]oracle xml操作
查看>>
Java并发--Java中的CAS操作和实现原理
查看>>
理解serialVersionUID是什么?有什么用?如何生成?
查看>>
java1.8新特性整理(全)
查看>>
java.util.ConcurrentModificationException 异常问题详解
查看>>
快速安装python3
查看>>
elementUI之通过指定 Table 组件的 row-class-name 属性来为 Table 中的某一行添加 class改变该行的颜色等样式。...
查看>>
小技巧
查看>>
深度学习图像配准 Image Registration: From SIFT to Deep Learning
查看>>
检测算法简介及其原理——fast R-CNN,faster R-CNN,YOLO,SSD,YOLOv2,YOLOv3
查看>>
随机采样方法整理与讲解(Acceptance-Rejection、MCMC、Gibbs Sampling等)
查看>>
高斯混合模型(GMM)及MATLAB代码
查看>>
MATLAB 可以画的各种类型的图总结
查看>>
全面解读Group Normalization,对比BN,LN,IN
查看>>