
bulia byak wrote:
The exhibits demonstrate the two photorealistic car renditions, a demo of the proposed gradient mesh approach, and a mini-tutorial on creating life-like shading for arbitrary rope-like shapes. All examples use Gaussian blur, and the source files of all examples are in share/examples in SVN.
Those are really interesting examples to choose.
I think the beautiful soft shading on the cars strongly suggests that gradient meshes are not as crucial as you might think for shading. What artists really need are the tools to mask and blur and composite, using the techniques in the rope example, which can be combined and layered to produce complex shading as with the cars.
I don't want to disparage but I don't think gradient meshes are achievable in a useful way with SVG. Even if they can be approximated it will produce an SVG file which is read-only in SVG editors other than Inkscape, which surely defeats the object of SVG compliance.
Within a gradient mesh, the whole patch needs to be subdivided to the size of the smallest subdivision but this size could approach zero, so the number of subdivisions required could approach infinity. Imagine a degenerate bezier patch which is triangular, for example. If there is some limit on the degree of subdivision, this could either cause block-like artifacts on large patch divisions or blur out the detail in small patch divisions, depending on how you clamp the blur radius. One of the reasons we use vector graphics is to avoid artifacts and get perfect rendering in all situations.
I would prefer more powerful features along the lines we already have: to work with multiple paths with blurring (ideally with different composite operations additive/subtractive/multiplicative etc), all within one clip region - a clip region that might also be edited on the fly. This can be edited equivalently - usefully - in SVG tools other than Inkscape.
Either way, I think we should allow time for artists to become familiar and competent with clip/mask & blur, implement additional composite filters, and wait to see if gradient meshes remain such a priority with these other features available.
While I'm on the subject of things that would be more useful to me than gradient meshes, I can think up a pile of suggestions for more inventive tools: an airbrush tool using the marching squares algorithm to generate nested isocurves; a paintbrush tool that works like the calligraphy tool but unions as it goes, and an eraser that differences as it goes; or a spray version of the tile clones tool that sprays clones onto the page in some kind of random distribution around the cursor.
Dan