
Hi there,
I was at the LGM this weekend and one of the Inkscape developpers pointed me out to this list in order to discuss one of the concepts I talked him about:
vector graphics shaders (as in 3D graphics shaders)
It's an idea I have been thinking about and working on for a while. Today I had a look at the archives of the mailing-list and I just found the thread on Live Effects Discussion. Which seems to be exactly what I was looking for.
I think my point of view is not that different from yours but maybe there are some new ideas. I basically try to recycle the work done on the 3D shader field to what could be the 2D shader field.
From my point of view we should define some perceptual data that
should be accessible to a shader programmer and some principle drawing functions that he should be able to use. I haven't worked on it a lot yet but some of these ideas are:
data accessible from a path: - point (given the % of the arclength) - tangent and / or normal (given the % of the arclength) - curvature (given the % of the arclength) (this could be given by the modulus of the tangent) (so it could be avoided) - color (given the % of the arclength) - stroke weigth (given the % of the arclength)
I guess the only thing hard to do here is the reparametrization for the beziers or other curves in order to make this a function of the % of the arclength. But I think that this is something that would make this shaders powerful, since the shader shouldn't bother to know if the path is made of curves, beziers or whatever he only needs what's perceptually important about the vector graphic.
What do you think?
anyway here I post a little experiment with some experiments in vector graphics renderers that I made (feedback is greatly appreciated!!!!):
-- ricard http://www.ricardmarxer.com