mrdoob/three.js — pull request #5672 by nraynaud (2014-11-22 02:49:50+00:00)
Title: clone _needsUpdate property in Texture.clone()

The ShaderPass in EffectComposer clones the uniforms which recursively clones the bound textures, but this doesn't copy the needsUpdate property whose default value is false. Without the needUpdate property to true, the texture is not uploaded into webgl and the texture2D() function in the shader returns 0 everywhere without any error.

May I suggest a "MaterialPass"? To just throw the baby with the water, and if the developer wants a shader, well, it comes will the whole Material Object. Because soon ShaderPass will just be copying everything that's in a ShaderMaterial options anyways.