openFrameworks README

The project's README from github.com/openframeworks/openFrameworks. As one markdown file: README.md.

openFrameworks

openFrameworks is a C++ toolkit for creative coding. If you are new to OF, welcome!

Build status

Platform Master branch Stable branch
Windows MSYS2 Build status Build status
Windows Visual Studio Build status Build status
Linux 64 & Arm Linux Build Status Linux Build Status
Emscripten Emscripten Build Status Emscripten Build Status
macos macos Build Status macos Build Status
iOS & tvOS iOS tvOS Build Status iOS tvOS Build Status

folder structure

This release of OF comes with several folders:

docs has some documentation around OF usage, per platform things to consider, etc. You should definitely take a look in there; for example, if you are on OSX, read the osx.md. apps and examples are where projects go -- examples contains a variety of projects that show you how to use OF, and apps is where your own projects will go. libs contains the libraries that OF uses, including the openframeworks core itself. addons are for additional functionality that's not part of the core. export is for DLLs and dylibs that need to be put in each compiled project. The scripts folder has the templates and small scripts for automating OF per platform. project generator is a GUI based tool for making new projects - this folder is only there in packaged releases.

One idea that's important is that OF releases are designed to be self-contained. You can put them anywhere on your hard drive, but it's not possible to mix different releases of OF together, so please keep each release (0.8.0, 0.8.1) separate. Projects may generally work from release to release, but this is not guaranteed. Because OF is self-contained, there's extensive use of local file paths (ie, ../../../) throughout OF. It's important to be aware of how directories are structured. A common error is to take a project and move it so that it's a level below or above where it used to be compared to the root of OF. This means that links such as ../../../libs will break.

Get involved

The openframeworks forum:

http://forum.openframeworks.cc/

is a warm and friendly place. Please ask or answer a question. The most important part of this project is that it's a community, more than just a tool, so please join us! Also, this is free software, and we learn so much about what is hard, what doesn't make sense, what is useful, etc. The most basic questions are acceptable here! Don't worry, just join the conversation. Learning in OF is social, it's hard to do it alone, but together we can get far!

Our GitHub site is active:

https://github.com/openframeworks/openFrameworks

if you have bugs or feature requests, consider opening an issue. If you are a developer and want to help, pull requests are warmly welcome. Please read the contributing guide for guidelines:

https://github.com/openframeworks/openFrameworks/blob/master/CONTRIBUTING.md

We also have a developer's mailing list, which is useful for discussing issues around the development and future of OF.

Developers

To grab a copy of openFrameworks for your platform, check the download page on the main site.

If you are working with the Git repository, the stable branch of the OF repository corresponds to the most recent release, with a few important differences:

  1. The release includes a simple openFrameworks project generator.
  2. This GitHub repository contains code and libs for all the platforms, but the releases are done on a per-platform basis.
  3. This GitHub repository has no project files for the different examples. They are generated automatically for each release using a tool in apps/projectGenerator/.
  4. There are no external dependencies in this repository, you can download them using the download_libs.sh script for each platform in the particular platform folder inside scripts.

If you want to work with the openFrameworks GitHub repository, you need to download the external dependencies and you should use the project generator to create project files for all the code in examples/. To generate the project files with the project generator enable the 'Advanced Options' in the settings tab, then use 'Update Multiple' to update the projects for the examples/ folder path in the repo.

To set up the project generator submodule within the OF repo, use the command git submodule init then git submodule update whilst inside the openFrameworks repo.

For more info on working with the Project Generator, for per-platform readmes, and more information, see the documentation.

Versioning

openFrameworks uses Semantic Versioning, although strict adherence will only come into effect at version 1.0.0.

openFrameworks (openframeworks/openFrameworks)

Searching Database…

这是什么东西?这是一个由社区开发、跨平台的 C++ 创意编程工具包——你可以用它来开发交互式图形、音频、视频和计算机视觉项目。
那它是要链接进我自己项目里的库,还是更大的东西?它是一个自成体系的工具包,你需要在它内部进行开发:下载包里自带 openFrameworks 核心、第三方库、插件(addons)和示例项目,你自己的应用则放在它的 apps 文件夹里。
我怎么把它跑起来?从 openframeworks.cc/download 下载适合你操作系统的稳定版(或 nightly 版),按照 docs 文件夹里对应平台的安装指南操作,然后编译一个自带的示例项目。
开始之前有什么要注意的坑吗?不同版本不能混用,而且项目是通过 ../../../libs 这类相对路径访问工具包的——把项目在 OF 文件夹里上移或下移一层,链接就会断掉。
我需要有经验的 C++ 开发背景才能用吗?你要写 C++,所以有一些编程基础会有帮助——但这个项目是围绕社区打造的:自带可供学习的示例项目,论坛上哪怕最基础的问题也欢迎提问。
它能面向哪些平台?Windows(MSYS2 或 Visual Studio)、macOS、Linux 64 位和 Arm(树莓派)、iOS、tvOS 和 Android,另外还有能在浏览器里运行的 Emscripten 构建。
我能在自己的项目里免费使用它吗?README 称它是自由软件,但没有指明具体的许可证;GitHub 上把它的许可证列为非标准许可证。
我怎么创建自己的项目?使用 project generator——这是一个随打包版本附带的可视化工具,能为你的平台生成项目文件。你自己的项目放在 apps 文件夹里,和示例项目放在一起。
我可以不用发布版,直接用 GitHub 仓库开发吗?可以,但需要先做一些准备:仓库本身不含外部依赖——scripts 下每个平台的文件夹里有一个 downloadlibs.sh 用来下载它们——示例项目也没有预生成的项目文件,那些是在每次发布时生成的。
它适合做哪类项目?交互式媒体类项目:OpenGL 图形、音频、视频和计算机视觉(OpenCV 就是它带的库之一),从桌面应用到 iOS 和 Android 应用,再到通过 Emscripten 构建的浏览器版本都可以。
What are similar projects?SFML, bgfx, xbmc, Infinite, vlc, kivy, assimp, opencv
Size
2.1 GB
Stars
10.4K
Age
16y
Commits · 90 Days