实现专业品质创意的C++开源包:Cinder

jopen 10年前

Cinder是一个专为创意而生的C++开源包。Cinder是一款C++开源资料库,是一个跨平台的,专为程序制图、音频、视频、网络、图像处理和计算几何学提供支撑的强大工具箱。

实现专业品质创意的C++开源包:Cinder

Cinder最初是The Barbarian Group公司内部的一个提供创意编程框架的组织。最初的任务是和iTunes的视觉设计师一起为艺术家罗伯特·霍金的音乐视觉化实验项目提供支持。很快,其他Barbarian的成员加入到这个项目中来。

Cinder的首席架构师Andrew Bell:“一个新的C++程序员知道应该规避一些在编程过程中的死角,但他们不知道这些死角是什么,或者在哪里。然而,像我这样经验丰富的程序员知道程序中所有的死角。我们在编程过程中也犯过不少的错误,因此,我们希望有一个数据库来记录所有的错误,以免再犯。令我非常骄傲的是,Cinder离这个目标已经很近了。”

由于cinder是C++编写的, 有着非常好的可移植性. 最重要的是ios下呈现出的性能高于cocos2d等游戏框架.

Platform Core

  • Standalone Mac & PC applications

    Platform-native windowing and event handling

  • Screensavers

    Create native Mac OS X and Windows screensavers

  • Internet I/O

    Load media via HTTP and FTP natively

  • Full I/O abstraction

    Seamless I/O from flat files, memory, resources and networks

  • C++ Core

    Internally reference-counted design prevents leaks, C++0x std::thread for multithreading

  • iOS Support

    Targets the iPhone & iPad; provides a growing list of device-specific features

  • UI Events

    Full keyboard, mouse (including scroll wheel), window and file drag & drop

  • MultiTouch

    Consistent multiTouch APIs for Windows 7, iOS and Mac OS X 10.6

  • XML DOM parser

    Built-in object oriented XML parsing API

  • Communication APIs

    Serial port (enable Arduino applications), OSC and TUIO

</div>

3d Graphics

  • Core Classes

    Perspective and orthographic cameras, triangle meshes, OBJ loading, geometric primitives

  • OpenGL Core

    Multisampled antialiasing, dynamic switching between full-screen & windowed modes, convenience methods for rapid development

  • OpenGL Classes

    Full-featured classes for textures, FBOs, GLSL, VBOs, lights, materials and display lists

  • Tile-based renderer

    Render arbitrarily large images (for print & other applications)

  • GUI Parameters

    GL-based GUI for powerful, convenient manipulation of parameters

</div>

Mathematics

  • Math primitives

    Full-featured matrix, vector and quaternion classes

  • Utilities

    Colors, random numbers, Perlin noise (up to 4D, with analytical derivatives)

  • Geometric Primitives

    Poly-bezier paths, polygons, axis-aligned bounding boxes, B-splines, least-squares B-Spline curve fitting

</div>

2d Graphics

  • Robust Image I/O

    PNG, JPEG, TIFF, BMP & others via platform-native libraries. Preservation of premultiplication and high dynamic range information

  • 2D image processing

    Professional quality image resizing, edge detection, desaturation, adaptive thresholding

  • High Dynamic Range Imaging

    Full support for floating point HDR pixel processing in image I/O, OpenGL and software

  • Powerful 2D rasterizer via cairo

    Full featured vector renderer exports to SVG, PDF, Postscript, EPS, CoreGraphics, GDI and a pixel-based antialiasing rasterizer

  • Fonts & Text

    Font enumeration, glyph path extraction, Unicode text layout and rasterization, custom fonts via flat files or resources

</div>

Media

  • Video Capture

    Webcam support via platform native libraries on Mac OS X, iOS and Windows

  • OpenCV

    Object-oriented lightweight wrapper for OpenCV 2.1

  • Full-featured QuickTime

    Frame extraction, native accelerated OpenGL path, audio playback, FFT analysis, asynchronous network loading

  • Audio support

    Loading standard file formats, synthesis, access to raw PCM data, FFT analysis (Mac-only), microphones (Mac-only)

</div>

项目主页:http://www.open-open.com/lib/view/home/1408460221131