實現專業品質創意的C++開源包:Cinder
Cinder是一個專為創意而生的C++開源包。Cinder是一款C++開源資料庫,是一個跨平臺的,專為程序制圖、音頻、視頻、網絡、圖像處理和計算幾何學提供支撐的強大工具箱。
Cinder最初是The Barbarian Group公司內部的一個提供創意編程框架的組織。最初的任務是和iTunes的視覺設計師一起為藝術家羅伯特·霍金的音樂視覺化實驗項目提供支持。很快,其他Barbarian的成員加入到這個項目中來。
Cinder的首席架構師Andrew Bell:“一個新的C++程序員知道應該規避一些在編程過程中的死角,但他們不知道這些死角是什么,或者在哪里。然而,像我這樣經驗豐富的程序員知道程序中所有的死角。我們在編程過程中也犯過不少的錯誤,因此,我們希望有一個數據庫來記錄所有的錯誤,以免再犯。令我非常驕傲的是,Cinder離這個目標已經很近了。”
由于cinder是C++編寫的, 有著非常好的可移植性. 最重要的是ios下呈現出的性能高于cocos2d等游戲框架.
Platform Core
</div>-
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
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
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
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
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)