An interesting discussion came up on the Studio Artist User Forum the other day, which concerned how to access a particular image stream I used in a post example. I gave a brief explanation as a reply to the user forum post, but we’ll explore this aspect of MSG editing more detail in this post.
The 2 screen shots above show off the Processor List and the Bus List editors (left side of the interface) in the MSG Advanced Editor. Both have associated Source Libraries (right side of the interface), which consist respectively of a Processor Source Library, and a Stream Source Library.
Understanding the Internal Components of a MSG Preset
A key point in understanding how a MSG preset is built is to understand the difference between Processors and Streams. Both processors and streams are available in separate Source Libraries. And any MSG preset consists of 2 different lists, the Processor list and the Bus list.
The processor list is a list of individual processors. Each processor is a modular image processing effect. By stringing different processors together in a list, you build up the individual image processing steps that work together to create a particular effect.
Processors define an image processing effect, but by themselves don’t specify anything about which images they might be processing as inputs or outputs. Processors might also use color palettes, color gradients, or special floating point buffers as additional inputs or outputs. These different things that could be inputs or output of a processor (images, color palettes, color gradients, floating point buffers) are all called Streams.
There is a special list called the Bus list associated with a MSG processor. The Bus list contains a list of the different Streams used in the MSG effect. Each stream on the Bus list takes up computer memory, so in general you only want to put the specific Streams on the Bus for a particular MSG effect that are really needed to implement the effect. Otherwise you are just wasting memory, and slowing down the overall execution time for the MSG effect.
Every MSG preset contains at least 3 specific Streams. These are named ROut, GOut, and BOut. These 3 streams correspond to the 3 color channel output for the MSG effect (the red, green, and blue color channels). When I say channel, i’m really referring to a black and white image buffer. You can think of a color image as being composed of 3 different black and white image buffers, each of which corresponds to the 3 color channels that make up a color image.
Color images can be represented in different color spaces. Studio Artist uses the RGB (red, green, blue) color space for it’s internal image buffers. The Studio Artist canvas layers are composted or 32 bit per pixel images. Each of the 3 color channels in the RGB color space take up 8 bits per channel. The remaining 8 bits per pixel is used as an alpha channel for the layer.
While the output of an MSG effect is ultimately 8 bits per channel for the 3 color input and output channels, internally the MSG effect can be run at normal or high precision. Normal precision means that all of the image streams used on the Bus for the MSG preset are 8 bits per channel. However, if you specify high precision in your MSG preferences, then 16 bit per channel buffers are used. This higher precision quality mode can generate smoother gradient coloring effects when generating procedural imagery using MSG.
Even through Studio Artist uses the RGB color space for it’s layers, you are free to use many different color spaces when constructing a MSG effect. There are specific MSG processors that can be used to convert images back and forth between the RGB color space and other color spaces, including YIQ, HLS, VHS, LAB, and LUV.
If you are interested in the technical details of what a color space is, here’s a link to a wikipedia page to help you get started understanding this rather technical topic. For the more casual user, the key point is that running processing effects in different color spaces will lead to different looks or aesthetics for the effects. For the more experienced technical user, MSG provides all of the tools you need to build modular image processing effects that work in any of the above color spaces, or even to work with multiple color spaces within the same MSG effect. It’s all modular, and totally user configurable.
Adding a New Stream to a MSG Effect
The first gallery image below shows the Bus list for the A Simple Texture MSG effect that ships with Studio Artist as a factory MSG preset. It’s pretty basic, it generates a turbulence noise image that is then index mapped through a color gradient to generate a color procedural texture image.