thanks for the information, Ello,

I will have a look at your bubbleshader example (code is often self-telling).
nevertheless your answer puzzles me a little bit.
This means that the efect is not transmitted to the program and executed as is, but that there is a different layer which interprets the command using it's own, "DirectX inspired" syntax.

I would love to find out what this "interpetation" looks like.

In a way this touches the material objekt in general.
I see that jcl has outsourced the material properties. But how do they interact with the shader defs? I noticed (but this is more fancy than proven) that the shader seems to override the properties.