mutter/clutter/pango
Neil Roberts bb156970de Render pango layouts with vertex buffers
When rendering a pango layout CoglPangoRenderer now records the
operations into a list called a CoglPangoDisplayList. The entries in
the list are either glyph renderings from a texture, rectangles or
trapezoids. Multiple consecutive glyph renderings from the same glyph
cache texture are combined into a single entry. Note the
CoglPangoDisplayList has nothing to do with a GL display list.

After the display list is built it is attached to the PangoLayout with
g_object_set_qdata so that next time the layout is rendered it can
bypass rebuilding it.

The glyph rendering entries are drawn via a VBO. The VBO is attached
to the display list so it can be used multiple times. This makes the
common case of rendering a PangoLayout contained in a single texture
subsequent times usually boil down to a single call to glDrawArrays
with an already uploaded VBO.

The VBOs are accessed via the cogl_vertex_buffer API so if VBOs are
not available in GL it will resort to a fallback.

Note this will fall apart if the pango layout is altered after the
first render. I can't find a way to detect when the layout is
altered. However this won't affect ClutterText because it creates a
new PangoLayout whenever any properties are changed.
2009-04-29 19:53:24 +01:00
..
cogl-pango-display-list.c Render pango layouts with vertex buffers 2009-04-29 19:53:24 +01:00
cogl-pango-display-list.h Render pango layouts with vertex buffers 2009-04-29 19:53:24 +01:00
cogl-pango-fontmap.c 2008-10-31 Emmanuele Bassi <ebassi@linux.intel.com> 2008-10-31 17:48:24 +00:00
cogl-pango-glyph-cache.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-pango-glyph-cache.h [Automatic fixed-to-float.sh change] Applies all scripted changes 2009-01-20 16:20:54 +00:00
cogl-pango-private.h 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com> 2008-10-30 17:11:29 +00:00
cogl-pango-render.c Render pango layouts with vertex buffers 2009-04-29 19:53:24 +01:00
cogl-pango.h * clutter/pango/cogl-pango.h: Include pango/pango.h to get 2008-11-21 16:18:31 +00:00
Makefile.am Render pango layouts with vertex buffers 2009-04-29 19:53:24 +01:00