[cairo] GSoC Requirements / Expectations

Carl Worth cworth at cworth.org
Tue Mar 18 10:32:48 PDT 2008

On Tue, 18 Mar 2008 08:52:56 +0000, Daniel Kraft wrote:
> But I want to know beforehand if you have any special
> expectations/preferences on student applications so I can only apply if
> I have chances of being accepted ;)

You definitely improved your chances already by coming here and
introducing yourself. Welcome!

I now even posted instructions that potential Summer of Code
applicants should come here and talk and let us know about projects
they are potentially interested in. That's here:


> As stated before, I have interest in graphics, but not yet much
> experience on the implementor's side (only some user experience from SVG
> "coding").  With programming in general (C included) and things like
> make/autotools/shells I have a good deal of experience, and also some
> basic knowledge about algorithms and datastructures (participated twice
> at the IOI).

So I can talk from personal experience on this point.

6 years ago I had interest in 2D graphics, but not much experience in
the implementor's side[*]---and definitely very little experience in
the way of direct contribution to any significant free-software

Then, I had a rough equivalent of a "Summer of Code" experience, (but
without Google and without any formalism). What happened was that
Keith Packard invited me to start looking at what it would take to
implement trapezoid rasterization inside the X server. He was a great
mentor in that he took the time to explain the problem to me and gave
a rough sketch of what a solution would look like. He also specified
it down to a single function call interface which I had to implement.

That grounded things for me quite nicely so that I could ignore "big,
scary X server code base", and just code up this one single function
inside a test program. When I was done, I was a little startled to
find Keith immediately committing the code to the X server and
unleashing it on machines all over the world.

That experience definitely helped give me some of the confidence I
needed that led to what eventually became cairo. And from then on,
I've mostly just been learning "on the job" as it were.

So with cairo participating in Summer of Code now, that's an
experience I'd like to provide for as many students as possible. You
definitely don't have to have worked directly with cairo or even
computer graphics before at all. More important is that you are a
capable programmer, you're interested in learning, and one of the
project idea strikes you as being really compelling.

You mentioned lookup-table rasterization for example. I like that
project idea quite a lot since it would be replacing the code that
Keith used to replace the code I wrote as I described above. :-)

Whatever project you choose, go ahead and dive in and see what you can
learn about what's happening. And please feel free to ask specific
questions right here on this list. We'll be glad to provide any
specific pointers to more information that we can.

I hope you'll have lots of fun hacking on cairo.



[*] Thinking back on this, I did have some exposure to 3D graphics
already. I had written a simple ray tracer in a college course. Also,
I loved to flip through the shiny editions of SIGGRAPH proceedings
from the campus library, and gape at the color plates. And I couldn't
help myself but to attempt to code up a couple of the things I found
most impressive[1,2].

[1] http://www.hammerhead.com/thad/morph.html

    Feature-Based Image Metamorphosis
    Thaddeus Beier and Shawn Neely. Computer Graphic (Proc. SIGGRAPH
    1992), July 1992

[2] http://graphics.stanford.edu/papers/reflectors/

    Illumination from Curved Reflectors
    Pat Hanrahan and Don Mitchell. Computer Graphics (Proc. SIGGRAPH
    1992), July 1992
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.cairographics.org/archives/cairo/attachments/20080318/29690164/attachment.pgp 

More information about the cairo mailing list