Quick answer: Construct 3 effect pool reusing instance with previous uniform values? Pool releases; uniforms persist - clear on acquire.
Pooled blur effect; subsequent uses show previous blur radius until first parameter set.
Clear on acquire
Pool acquire callback: reset all uniforms to default.
Or set every time
On each use, explicitly set every uniform. No leftover state.
Audit pool reuse
Each pooled effect's state needs to be considered.
“Pool reuse preserves state. Cleanup is required.”
If your effects look wrong on pool reuse, the cleanup is the answer.