quote:
shader knows about all effects it needs to render the geometry
So I was right, effect system can be used to define parts of complicated shaders
quote:
direct forwarding and meta-bouncing
Other two bouncing schemes are actually simplification (shader forwarding) and generalization (meta-effects) of this one.
I thought about generalization thingy before, but decided that its too much effort to put in. Did you actually implemented and successfully used it?
Then the only important detail you did not describe is parameter passing. I believe thats what your GC-tags are for.
Btw, thanks for still sharing your knowledge with us.
quote:
how do you decide where in the Shader Params to link the output of the shader
Well, as parent shader is the one who decides to apply certain "service effect", it surely knows where it wants to store the output. It should be marked somewhere in SPGC during the process of effect resolution. Actually, you have to maintain a sort of parameter->effect(shader) mapping.
In a meta-effect case it seems to be the same. Anyway, thats lack of parameter that originates service effect/shader application, so you always know that parameter...