Hey guys, I noticed I can use either particles or bloom filters just fine, but when I try to use them both at the same time in a single program I get this error:
:pgraph(error): Shader Generator does not support TexMatrix yet.
(If you want to recreate it, it’s just a matter of adding a filter to the steam example). Is there any sort of work-around?
You can take off the TexMatrixAttrib that is applied by the particle renderer. It would be something like this:
p0.getRenderNode().clearTexTransform()
You’d have to do this after the renderer has initialized. I’m not 100% sure the renderer wouldn’t immediately put the TexMatrix back, though.
You should also be able to persuade the sprite particle renderer not to apply a TexMatrix in the first place, by mapping the UV’s on your particle geometry so that it maps upside-down and backward: (0,0) - (1,0) is the top edge of the texture card, and (1,0) - (1,1) is the bottom edge of the texture card. (This is the way the graphics hardware wants to map sprite textures by default, so any other mapping requires a texture matrix.)
Hmm, I think this is a bug. The Bloom Postprocessing effect turns on the Shader Generator, which is not necessary, I think… When I remove the setShaderAuto line from FilterManager.py the bloom still works fine, and so does TexMatrix.
Is there any particular reason why FilterManager turns on the Shader Generator?