A channel in the compositor transports textures between nodes.
Unfortunately, Ogre's design of RenderTargets, Textures & MRTs isn't as straightforward and encapsulated as we wanted them to be. Therefore we need this Channel structure to abstract them.
- In short, when we want to render to a texture, we need a RenderTarget. When we want to sample from, we need a Texture. Until here there is an almost 1:1 relationship. However when MRTs come into play, this relationship is destroyed and not handled very well by Ogre. We do.