實現專業品質創意的C++開源包:Cinder

jopen 10年前發布 | 18K 次閱讀 Cinder C/C++開發

Cinder是一個專為創意而生的C++開源包。Cinder是一款C++開源資料庫,是一個跨平臺的,專為程序制圖、音頻、視頻、網絡、圖像處理和計算幾何學提供支撐的強大工具箱。

實現專業品質創意的C++開源包:Cinder

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)


項目主頁:http://www.baiduhome.net/lib/view/home/1408460221131

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!