MSG (modular synthesized graphics) is Studio Artist’s modular image processing architecture. 600 different image processing modules (called processors) are available within MSG and can be combined together to create an infinite variety of different image synthesis or processing effects. MSG can be used to create abstract procedural imagery or animations from scratch. Or MSG can also be used to create custom image processing or video special effects.
The particular MSG processing example shown above straddles the boundary between image processing and image synthesis. It was created with a single MSG preset processing a very representational source image, shown below.
So this particular image processing effect creates an extreme abstraction based on the representational image it uses as it’s source for processing. Different source images used as input to the effect will generate different abstractions in a similar style at the effect’s output, so the effect is actually being derived by processing the source image.
The processor chain used to create this particular MSG preset is shown below.
Each element in the processor chain list is a different MSG processor. MSG processors work by processing different IO (input-output) streams. So each processor may have one or more input streams and will always have 1 or more output streams. Streams can be image buffer, color gradients, color palettes, etc. The Bus is the list of active streams used in a particular preset. The Bus for this particular preset is shown below.
Note the RGB source and output image buffer streams as well as an additional temporary image buffer and some color palette streams. This particular effect works by generating a procedural abstraction in the temporary buffer and then using that as a spatial modulator for a color image processing effect. The 2 screen snapshots below show the io connections for these first 2 processors.
This first MSphereGen processor generates an abstract procedural image. Note that the Out port for the processor is connected to the Tmp Img bus stream, which is a temporary image buffer used in the preset. By temporary i mean it isn’t associated with the input source image or the output image generated by the preset. It takes up additional memory when the preset is being run but is then deleted and the memory freed up after the preset is finished processing. Think of a temporary image buffer as a scratch pad that can be used to build an overall image processing signal flow. Or you can think of it as a hidden layer the preset uses to stores images.
The second RG_PathAngNL2D processor is a spatially modulatable color nonlinear filtering effect. You can see the 3 input and 3 output ports used to specify the color image streams used as the source and the output of the effect. There is also an additional In Mod port, which is the spatial modulator and is set to the Tmp Img stream.
By spatial modulator, i mean that each pixel luminance value in the In Mod image stream is modulating some aspect of the processing effect at that pixel’s spatial location. You could think of the modulator image stream as adjusting some internal parameter of the effect on a pixel by pixel basis. As you might imagine, this is a powerful approach to generating organic complexity for different processing effects that support spatial modulation.
The rest of the processors in the processor chain list shown above perform additional processing that work in synergy to create the final source abstraction effect. The IO editing metaphor based on using a temporary image stream which is used as a spatial modulator for some processors is a common one used in many MSG presets.