1
0
Fork 0
mutter-performance-source/clutter
Neil Roberts 0cdbe7e098 cogl-path: Use the GLU tesselator to draw paths
Instead of drawing paths using the stencil buffer trick, it now
tesselates the path into triangles using the GLU tesselator and
renders them directly. A vbo is created with one vertex for each node
on the path. The tesselator is used to generate a series of indices
into the vbo as triangles. The tesselator's output of strips and fans
is converted into GL_TRIANGLES so that it can be rendered with a
single draw call (but the vertices are still shared via the
indices). The vbo is stored with the path so that if the application
uses retained paths then Cogl won't have to tessellate again.

The vertices also have texture coordinates associated with them so
that it can replicate the old behaviour of drawing a material with a
texture by fitting the texture to the bounding box of the path and
then clipping it. However if the texture contains waste or is sliced
then the vertex buffer code will refuse to draw it. In this case it
will revert back to drawing the path into the stencil buffer and then
drawing the material as a clipped quad.

The VBO is used even when setting up the stencil buffer for clipping
to a path because the tessellated geometry may cover less area.

The old scanline rasterizer has been removed because the tesselator
should work equally well on drivers with no stencil buffer.
2010-06-29 20:37:13 +01:00
..
cogl cogl-path: Use the GLU tesselator to draw paths 2010-06-29 20:37:13 +01:00
egl Remove default settings from backends 2010-06-21 17:57:57 +01:00
fruity Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
glx clutter-{glx,x11}-texture-pixmap: Use CoglTexturePixmapX11 2010-06-22 12:22:48 +01:00
json json: Backport JSON_NODE_HOLDS macros 2010-06-22 07:58:49 +01:00
osx Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
win32 clutter-event-win32: Emit multiple events for WM_MOUSEWHEEL Messages 2010-06-25 11:29:07 +01:00
x11 event: Typos in event code could cause crashes 2010-06-29 15:42:59 +01:00
clutter-action.c docs: Description fixes for Action and Constraint 2010-05-26 14:09:24 +01:00
clutter-action.h Add named modifiers for Action and Constraint 2010-05-20 11:19:51 +01:00
clutter-actor-meta-private.h actor: Add ActorMeta, a base class for actor modifiers 2010-05-17 16:42:10 +01:00
clutter-actor-meta.c docs: Description fixes for Action and Constraint 2010-05-26 14:09:24 +01:00
clutter-actor-meta.h actor: Add ActorMeta, a base class for actor modifiers 2010-05-17 16:42:10 +01:00
clutter-actor.c actor: Top-levels should always report a 255 opacity 2010-06-24 17:26:01 +01:00
clutter-actor.h actor: add clutter_actor_contains() 2010-06-11 15:19:45 +01:00
clutter-align-constraint.c constraints: Allow Align and Bind sources to be NULL 2010-06-17 17:33:10 +01:00
clutter-align-constraint.h align-constraint: Publish the properties accessors 2010-06-16 12:47:56 +01:00
clutter-alpha.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-alpha.h
clutter-animatable.c Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-animatable.h Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-animation.c clutter-animation: Fix for using fixed:: from clutter_actor_animatev 2010-06-23 15:55:46 +01:00
clutter-animation.h animation: Use 'guint' for set_duration() parameter 2010-05-05 11:32:39 +01:00
clutter-animator.c animator: avoid walking off empty list 2010-06-16 17:45:13 +01:00
clutter-animator.h animator,state: Mark variadic functions that ends with NULL 2010-06-07 14:22:26 +01:00
clutter-backend.c backend: Undeprecated clutter_backend_get_resolution() 2010-06-21 18:26:38 +01:00
clutter-backend.h backend: Undeprecated clutter_backend_get_resolution() 2010-06-21 18:26:38 +01:00
clutter-behaviour-depth.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-depth.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-behaviour-ellipse.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-ellipse.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-opacity.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-opacity.h docs: Fix gtk-doc warnings 2010-04-22 16:39:18 +01:00
clutter-behaviour-path.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-behaviour-path.h docs: Fix the 'Since' annotation for some functions 2009-11-19 11:51:21 +00:00
clutter-behaviour-rotate.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-rotate.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-scale.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-scale.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-behaviour.h
clutter-bezier.c analysis: Use static functions when possible 2010-06-01 12:08:18 +01:00
clutter-bezier.h
clutter-bin-layout.c layout-manager: Implement set_container() 2010-06-07 22:40:34 +01:00
clutter-bin-layout.h [layout, docs] Clean up BinLayout documentation 2009-10-14 11:31:29 +01:00
clutter-bind-constraint.c bind-constraint: Add width and height binding 2010-06-28 18:06:23 +01:00
clutter-bind-constraint.h bind-constraint: Add width and height binding 2010-06-28 18:06:23 +01:00
clutter-binding-pool.c docs: Fix example code in BindingPool 2010-06-24 11:23:50 +01:00
clutter-binding-pool.h
clutter-blur-effect.c blur-effect: Fix loop unrolling 2010-06-07 15:45:24 +01:00
clutter-blur-effect.h effect: Add BlurEffect 2010-06-03 14:10:55 +01:00
clutter-box-layout.c layout-manager: Implement set_container() 2010-06-07 22:40:34 +01:00
clutter-box-layout.h Add "homogeneous" mode to ClutterBoxLayout. 2010-03-25 09:41:54 +00:00
clutter-box.c box: Fix allow-none annotation 2010-03-03 10:47:42 +00:00
clutter-box.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-cairo-texture.c cairo-texture: Disable :sync-size 2010-06-16 13:58:41 +01:00
clutter-cairo-texture.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-child-meta.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-child-meta.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-click-action.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-click-action.h action: Add ClickAction 2010-05-25 11:13:03 +01:00
clutter-clone.c clone: Set :source as CONSTRUCT 2009-10-22 15:51:06 +01:00
clutter-clone.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-color.c clutter-color: Don't directly read the contents of GValue structs 2010-05-05 18:49:09 +01:00
clutter-color.h [misc] Update headers #endif comments 2009-06-29 21:37:02 +02:00
clutter-colorize-effect.c docs: Effects fixes for the API reference 2010-06-03 14:34:41 +01:00
clutter-colorize-effect.h effect: Add ColorizeEffect 2010-06-03 14:10:55 +01:00
clutter-constraint.c docs: Description fixes for Action and Constraint 2010-05-26 14:09:24 +01:00
clutter-constraint.h Add named modifiers for Action and Constraint 2010-05-20 11:19:51 +01:00
clutter-container.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-container.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-debug.h debug: Use G_UNLIKELY in the tests 2010-05-04 17:01:14 +01:00
clutter-deform-effect.c effect: Add DeformEffect 2010-06-10 18:40:29 +01:00
clutter-deform-effect.h effect: Add DeformEffect 2010-06-10 18:40:29 +01:00
clutter-deprecated.h Fix copy-and-paste errors in the deprecation macros 2009-07-21 09:22:38 +01:00
clutter-desaturate-effect.c docs: Effects fixes for the API reference 2010-06-03 14:34:41 +01:00
clutter-desaturate-effect.h effect: Add DesaturateEffect 2010-06-03 14:10:55 +01:00
clutter-device-manager.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-device-manager.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-drag-action.c drag-action: Disable picking during drag 2010-06-22 16:12:53 +01:00
clutter-drag-action.h drag-action: Remove the press event button 2010-06-12 17:45:54 +01:00
clutter-effect.c docs: Fix Effect subclassing section 2010-06-10 17:34:48 +01:00
clutter-effect.h docs: Effects fixes for the API reference 2010-06-03 14:34:41 +01:00
clutter-enum-types.c.in Use g_once when registering enumeration types 2009-05-29 12:40:23 +01:00
clutter-enum-types.h.in
clutter-event.c event: Typos in event code could cause crashes 2010-06-29 15:42:59 +01:00
clutter-event.h Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-feature.c Emit a critical warning if features are not initialized 2010-03-18 14:15:33 +00:00
clutter-feature.h docs: Document SWAP_EVENTS feature flag 2010-02-15 19:03:37 +00:00
clutter-fixed-layout.c layout-manager: Implement set_container() 2010-06-07 22:40:34 +01:00
clutter-fixed-layout.h [layout, docs] Document FixedLayout 2009-10-14 11:31:29 +01:00
clutter-fixed.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-fixed.h [fixed] Remove ClutterFixed API 2009-03-10 12:38:04 +00:00
clutter-flow-layout.c layout-manager: Implement set_container() 2010-06-07 22:40:34 +01:00
clutter-flow-layout.h [layout] Remove FlowLayout:wrap 2009-10-14 11:31:30 +01:00
clutter-frame-source.c g_source_set_name on custom sources (if available) 2010-06-07 12:05:24 +01:00
clutter-frame-source.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-group.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-group.h [group] avoid double evaluation of arguments in clutter_group_add 2009-04-08 18:19:46 +01:00
clutter-id-pool.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-id-pool.h
clutter-input-device.c device: When changing the stage, unset the pointer actor 2010-02-26 11:19:26 +00:00
clutter-input-device.h device: Allow updating devices from embedding toolkits 2010-02-17 18:21:50 +00:00
clutter-interval.c interval: Add a pointer variant to compute_value() 2010-05-24 15:06:14 +01:00
clutter-interval.h interval: Add a pointer variant to compute_value() 2010-05-24 15:06:14 +01:00
clutter-json.h.in [json] Include only json-glib.h 2009-08-12 15:31:16 +01:00
clutter-keysyms-table.h
clutter-keysyms.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-layout-manager.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-layout-manager.h layout: Let begin_animation() return the Alpha 2009-12-13 01:23:54 +00:00
clutter-layout-meta.c [layout] Add LayoutMeta 2009-10-14 11:31:26 +01:00
clutter-layout-meta.h layout: Add padding to LayoutMeta 2009-12-02 11:36:25 +00:00
clutter-list-model.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-list-model.h
clutter-main.c Always have a valid font map 2010-06-09 11:55:19 +01:00
clutter-main.h Remove clutter_set_default_text_direction() 2009-12-07 19:00:55 +00:00
clutter-marshal.list drag-action: Remove the press event button 2010-06-12 17:45:54 +01:00
clutter-master-clock.c g_source_set_name on custom sources (if available) 2010-06-07 12:05:24 +01:00
clutter-master-clock.h ensure next iteration 2009-07-10 11:38:42 +01:00
clutter-media.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-media.h Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-model-private.h [model] Add a private row mutator to ClutterModelIter 2009-05-05 20:18:28 +01:00
clutter-model.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-model.h Add more padding in Model and ModelIter classes 2009-05-20 16:06:09 +01:00
clutter-offscreen-effect.c offscreen-effect: Traslate the modelview with the offsets 2010-06-10 18:40:24 +01:00
clutter-offscreen-effect.h effect: Rework the OffscreenEffect painting 2010-06-03 14:10:55 +01:00
clutter-page-turn-effect.c effect: Add PageTurnEffect 2010-06-10 18:40:29 +01:00
clutter-page-turn-effect.h effect: Add PageTurnEffect 2010-06-10 18:40:29 +01:00
clutter-path.c analysis: FALSE/0 used in pointer context 2010-06-01 12:08:18 +01:00
clutter-path.h [path] MOVE_TO and LINE_TO only use a pair of coordinates 2009-10-06 10:43:41 +01:00
clutter-private.h settings: Migrate Backend settings to a new object 2010-06-21 15:55:36 +01:00
clutter-profile.c profile: Fix the report generation 2010-04-22 17:52:13 +01:00
clutter-profile.h profiling: Allow limiting statisics just to picking 2010-01-08 20:19:50 +00:00
clutter-rectangle.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-rectangle.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-score.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-score.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-script-parser.c script-parser: Expose extracting the id from a node 2010-06-17 16:41:44 +01:00
clutter-script-private.h script-parser: Expose extracting the id from a node 2010-06-17 16:41:44 +01:00
clutter-script.c analysis: FALSE/0 used in pointer context 2010-06-01 12:08:18 +01:00
clutter-script.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-scriptable.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-scriptable.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-settings.c settings: Emit Backend::font-changed 2010-06-26 13:51:06 +01:00
clutter-settings.h settings: Migrate Backend settings to a new object 2010-06-21 15:55:36 +01:00
clutter-shader-effect.c shader-effect: Add a size check 2010-06-16 17:17:27 +01:00
clutter-shader-effect.h docs: Effects fixes for the API reference 2010-06-03 14:34:41 +01:00
clutter-shader-types.c shader-types: Check the size of the values 2010-06-16 17:14:57 +01:00
clutter-shader-types.h [cogl] Remove the COGL{enum,int,uint} typedefs 2009-05-12 14:53:44 +01:00
clutter-shader.c shader-effect: Allow creating vertex shaders 2010-06-11 14:47:48 +01:00
clutter-shader.h [shader] Remove deprecated set_uniform_1f() 2009-04-03 12:47:21 +01:00
clutter-stage-manager.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-stage-manager.h Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-stage-window.c Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-stage-window.h Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-stage.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-stage.h [stage] Add set/get_minumum_size 2010-02-06 11:23:37 +00:00
clutter-state.c state: avoid g_str_equal if a string might be NULL 2010-06-25 02:06:31 +01:00
clutter-state.h animator,state: Mark variadic functions that ends with NULL 2010-06-07 14:22:26 +01:00
clutter-text.c text: Use the ::settings-changed signal 2010-06-28 10:43:13 +01:00
clutter-text.h text: Add :font-description 2010-02-03 14:38:13 +00:00
clutter-texture.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-texture.h [texture] Support picking textures according to their alpha channel 2010-05-28 16:07:17 +01:00
clutter-timeline.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-timeline.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-timeout-interval.c Whitespace fixes 2010-02-01 10:40:34 +00:00
clutter-timeout-interval.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-timeout-pool.c g_source_set_name on custom sources (if available) 2010-06-07 12:05:24 +01:00
clutter-timeout-pool.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-types.h shader-effect: Allow creating vertex shaders 2010-06-11 14:47:48 +01:00
clutter-units.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-units.h units: Cache the pixels value inside Units 2009-10-16 15:25:37 +01:00
clutter-util.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-util.h Deprecate clutter_util_next_p2() 2010-02-06 10:49:33 +00:00
clutter-version.h.in docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter.h settings: Migrate Backend settings to a new object 2010-06-21 15:55:36 +01:00
Makefile.am Use -Bsymbolic-functions 2010-06-22 13:32:11 +01:00