Comments on SVG 1.2 Ch 9. Vector Effects and Shaders

I understand the benefit to maintaining a 3 x 2 affine transformation 
tensor rather than a 4 x 4 matrix for routine operations (performance, 
if nothing else), but is it possible to create a 3x3 matrix as a 
vector-effect filter for non-affine transformations?  It would provide a 
mechanism for doing pseudo-perspective mappings, a capability that has 
applications all over the place.

While on the topic of filters, what would it take to provide filters 
that would shade paths with lighting at a given angle assuming either an 
inset or outset descriptor on the path? The primary beneficiary of this 
would obviously be buttons -- a path shader which let you assume that 
positively-wound bindings would be shaded as if tilted at a given angle 
toward the light source and negatively-wound bindings would be shaded as 
if tilted away from the light source would give a 3d effect (raised or 
inset) to irregularly shaped regions. Given SVG's likely role in 
building sXBL based components, such a feature would seem to me to be 
eminently useful.

One last point to consider - the current approach to filters of any sort 
is to provide an enumerated set of filter primitives. However, it seems 
to me that such a set will, by definition, always be incomplete. While 
you can use convolution matrices to handle some types of filters, it 
seems reasonable to me that there should in fact be a specific 
filter/shader API for implementing and accessing intermediate layer 
graphics through some external mechanism. By doing this, you provide a 
consistent means for filter generation.

Received on Wednesday, 1 December 2004 08:14:03 UTC