Cairo State Tracker what we already have done

July 11, 2010

In my last post I showed how we can fill self intersected polygons using stencil buffer. It is one of the operations I have implemented in Cairo Gallium backend.

We already have many features implemented and others one in WIP.  This week i was working in make the stroke operation styles, like join, caps and dashes. I already have them working, Cairo has a nice helper function called _cairo_path_fixed_stroke_to_shaper, it converts the stroke in polygons like quads and triangles.  The result can be seen below.

We already have the fill operation also working(like you saw in my last post) , mask, clip and paint(solid pattern). Now i am working in blend operations, Cairo has many and some ones i need to write a shader like i did in my openvg branch not commited.

2 Responses to “Cairo State Tracker what we already have done”

  1. foo Says:

    Awesome! Now we just need to convince Intel to decide to implement a Gallium3D backend for their cards 😦

  2. Eric Anholt Says:

    foo: If you want aliased graphics, this is not the first implementation using a stencil buffer. But if you want hardware-accelerated cairo with antialiasing, your options today are basically xlib or cairo-gl. There are optimization efforts for making cairo faster for both of these (both at the driver level and at the cairo level). We haven’t implemented stencil-based path filling because nobody we know actually wants aliased graphics.

    And, by focusing on making cairo on GL better instead of spending a year rewriting drivers as gallium and then optimizing cairo on gallium, we’re making the Linux OpenGL stack better. This is a win for everyone.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: