[Cogl] Release Cogl 1.13.2 (snapshot)

Robert Bragg robert at sixbynine.org
Tue Jan 22 10:38:18 PST 2013


Good news, everyone!

The first Cogl snapshot towards Cogl 1.14 is now available (1.13.2):

LATEST NEWS
-------------------------------------------------------------------------------

Cogl 1.13.2                                                        2013-01-21

  • List of changes since Cogl 1.12.2

  » Adds support for texture based depth buffers
  » Lots of internal re-working to enable non-GL based drivers
  » Added a stub, NOP driver that can be useful for profiling
  » cogl_texture_rectangle_new_from_foreign() make public
  » cogl_debug_matrix_print() debug api added
  » Added support for building Cogl without a Glib dependency
    (we'd like to support Cogl with emscripten/NaCl with minimal
     dependencies)
  » Unified a lot of gles 2.0 and gl driver support
  » Added OpenGL 3.1 core profile support
  » Lots of gtk-doc annotation fixes
  » cogl_buffer_map_range() api added
  » Improved SDL 2 support
  » Added cogl_sdl_onscreen_get_window() api
  » Much improved out-of-memory error reporting
  » Added support for constant attributes
  » Lots of internal work to avoid referencing a global context
  » Added a new CoglMatrixStack api
  » Enabled lazy texture storage allocation
  » Added cogl_texture_allocate() for optional explicit allocation
  » Add cogl_texture_set_data() convenience api
  » Various fixes for handling sliced texture
  » Added cogl_framebuffer_get_depth_bits() api

  • Bugzilla bugs closed since Cogl 1.12.2

  #685915 - Screenshot API is broken on big-endian
  #690891 - Support Automake 1.13
  #691945 - _cogl_unpack_uint{8,16}_t

Many thanks to:

  Damien Lespiau
  Robert Bragg
  Neil Roberts
  Adel Gadllah
  Rico Tzschichholz

FETCHING THE RELEASE
-------------------------------------------------------------------------------

Tarballs can be downloaded from:

  http://download.gnome.org/sources/cogl/1.13/

SHA256 Checksum:

9599f13ea58bfb027ace81b4b98aebd453143e3a3b38139e25e1a50c4ff2f9d5
cogl-1.13.2.tar.bz2

Additionally, a git clone of the source tree:
  git clone git://git.gnome.org/cogl

will include a signed 1.13.2 tag which points to a commit named:
  b33b41e7ab0f30c97828ca509d935623e9537782

which can be verified with:
  git verify-tag 1.13.2

and can be checked out with a command such as:
  git checkout -b build 1.13.2

DESCRIPTION
-------------------------------------------------------------------------------

Cogl is a small open source library for using 3D graphics hardware for
rendering. The API departs from the flat state machine style of OpenGL and is
designed to make it easy to write orthogonal components that can render without
stepping on each others toes.

As well as aiming for a nice API, we think having a single library as opposed
to an API specification like OpenGL has a few advantages too; like being
able to paper over the inconsistencies/bugs of different OpenGL
implementations in a centralized place, not to mention the myriad of OpenGL
extensions. It also means we are in a better position to provide utility
APIs that help software developers since they only need to be implemented
once and there is no risk of inconsistency between implementations.

Having other backends, besides OpenGL, such as drm, Gallium or D3D are
options we are interested in for the future.


REQUIREMENTS
-------------------------------------------------------------------------------

Cogl currently only requires:

  • GLib ≥ 2.32.0
  • OpenGL ≥ 1.3 (or 1.2 + multitexturing), or OpenGL ES 2.0 (or 1.1)
  • GLX, AGL, WGL or an EGL implementation

Cogl also has optional dependencies:

  • GDK-Pixbuf ≥ 2.0
     - for image loading
  • Cairo ≥ 1.10
     - for debugging texture atlasing (debug builds only)

The optional Cogl Pango library requires:
  • Cairo ≥ 1.10
  • PangoCairo ≥ 1.20

On X11, Cogl depends on the following extensions

  • XComposite ≥ 0.4
  • XDamage
  • XExt
  • XFixes ≥ 3

When running with OpenGL, Cogl requires at least version 1.3
or 1.2 with the multitexturing extension. However to build Cogl
you will need the latest GL headers which can be obtained from:

  http://www.khronos.org

If you are building the API reference you will also need:

  • GTK-Doc ≥ 1.13

If you are building the additional documentation you will also need:

  • xsltproc
  • jw (optional, for generating PDFs)

If you are building the Introspection data you will also need:

  • GObject-Introspection ≥ 0.9.5

GObject-Introspection is available from:

  git://git.gnome.org/gobject-introspection

If you want support for profiling Cogl you will also need:

  • UProf ≥ 0.3

UProf is available from:

  git://github.com/rib/UProf.git



DOCUMENTATION
-------------------------------------------------------------------------------

The 1.x stable API is documented here:
  http://developer.gnome.org/cogl/stable/
The 1.x development API is documented here:
  http://developer.gnome.org/cogl/1.13

The experimental 2.0 API is currently not hosted online but can be built
by passing the --enable-gtk-doc option to ./configure when building.


RELEASE NOTES
-------------------------------------------------------------------------------
  - This is a development snapshot release so there are not API or ABI stability
    guarantees at this point for new APIs since the last stable release.

  - This Cogl release exports a 1.x API (For third-party Clutter
    developers to write custom actors) and an experimental 2.0 API which
    allows standalone application development.

  - Internally Clutter depends on the Cogl 2.0 experimental API so we maintain
    runtime compatibility between the 1.x API and experimental 2.0 APIs, which
    means developers can mix-and-match their use of the APIs in the same
    process.  API selection is done per-file by including a line like: '#define
    COGL_ENABLE_EXPERIMENTAL_2_0_API' before including cogl.h or clutter.h.

  - We recommend using the 2.0 API if you don't mind updating your code once in
    a while as this API evolves and stabilizes. We promise not to break the 2.0
    API during a 1.x stable cycle and hope that will encourage people to
    experiment with it and give critical feedback! For example after releasing
    1.8, the 2.0 API will be stable for 1.8.1, 1.8.2, 1.8.3 etc, but may update
    for 1.9/1.10.

  - Because we export the 1.x and 2.0 APIs from one libcogl.so the library
    versioning, and thus ABI, can only be considered as stable as our 2.0 API -
    i.e. during a stable release 1.x cycle.

  - Please report bugs using the Cogl Bugzilla product, at:
    http://bugzilla.gnome.org/enter_bug.cgi?product=cogl


More information about the Cogl mailing list