Skip to content
Building a Custom MSG Brush Load Paint Preset
You are here:
- Home
- MSG
- Building a Custom MSG Brush…
This factory preset is interesting because it uses an embedded MSG preset internally to generate it’s particular painting style. MSG can be used to extend the paint synthesizer in a number of different ways. Because MSG is a modular image processing environment for creating an unlimited number of different image processing effects, you can use it to effectively infinitely expand the paint synthesizer’s functionality.
The 2nd gallery image above shows the base effect generated by the A Quick Color Sketch preset. The key to how this particular paint preset is programmed can be seen in the 3rd gallery image , which shows the Paint Fill Setup control panel. Note that the Fill From parameter is set to the Paint Brush Load option.
The 4th gallery image shows the parameter settings for the Paint Brush Load control panel, which is being used to generate the paint nib for this preset. Note that it’s using the MSG option for the Type parameter. This means that the current MSG preset is being used to generate the brush load image generated for each individual paint nib. The MSG preset can be embedded within the paint synthesizer preset, so when you load the paint synthesizer preset it automatically loads it’s embedded MSG preset as well as the current MSG preset.
This saving of the embedded MSG preset is turned on or off by the MSG Save in Preset parameter setting in the Miscellaneous control panel (5th gallery image). Note that it is turned on. Typically you would want this parameter to be turned on whenever you are using embedded MSG in a paint synthesizer preset.
There are 4 different Types of Paint Brush Load effects. They are Lighting effects, Image Processing effects, Gradient effects, and MSG effects.
The MSG preset processor chain and it’s various IO (input-output) connections used in the paint synthesizer preset is shown in the image gallery below.
Note that the MSG preset includes an initial color space conversion from RGB to LHS color space, a float sum area effect, an image stream modulated single channel processing effect, and then a final color space conversion back to RGB color space.
The actual MSG preset run on the entire source image is shown in the 7th gallery image above. Note that this appearance is somewhat different than when the effect is used inside of the paint synthesizer preset (2nd image in the first gallery above).
This is because of the difference between running the MSG effect on the entire canvas all at once, vs processing small paint nibs with the preset as we do when embedding it inside of a paint preset. In the paint synthesizer preset using embedded MSG, the entire MSG effect is run for each individual small brush nib generated during the Paint Brush Load processing, which is based on the embedded MSG preset.
Float sum area based processing generates resolution independent effects, so the details generated by the MSG preset lead to finer details when used in the paint synthesizer because small 64×64 pixel paint nib images are processed by the effect (as opposed to the entire canvas processed all at once when we just run the MSG preset as a single MSG processing effect).
Designing a new MSG Based Paint Effect Without Doing any MSG or Paint Synthesizer Programming
We could get more into the specifics of how this particular MSG preset works. But the whole point of this particular post is that you can use the Evolution Editor to evolve new MSG preset without an in-depth technical understanding of how they were initially constructed or work internally.
The first gallery image above shows the Evolution Editor propagated with mutated variants of the original MSG preset used in the factory A Quick Color Sketch paint preset. I’m able to press the Action button, which will start the paint synthesizer auto-painting, and then work with the Evolution Editor in real time to mutate or evolve new MSG preset while the paint synthesizer is live painting with the current MSG preset.
Any time I click on an individual preview cell in the Evolution Editor, that MSG preset will become the current MSG preset, and the live painting paint synthesizer will automatically switch to using that new mutated preset as the embedded MSG preset it is using in it’s MSG Paint Brush Load processing.
I worked with Swap evolution (generated by pressing the Swap button at the top of the Evolution Editor) quite a bit to arrive at the final effect I liked the best. My ending screen shot of the Evolution Editor is shown in the 2nd gallery image above. And the processor chain of the new evolved MSG preset used to create the custom paint effect shown at the top of the post is shown in the 3rd gallery image.
In Conclusion
So, there are several very cool features we’ve introduced in this post. One, you can base a paint preset on a MSG preset that is embedded internal to the paint synthesizer to generate the individual paint nibs in real time.This allows for unlimited extension of the capabilities of the paint synthesizer.
Second, you can use either the MSG Advanced Editor or the Evolution Editor to live edit, mutate, or evolve new MSG presets in real time while a paint synthesizer preset based on embedded MSG is live painting.
Third, you can use these features to build new paint synthesizer preset using the Evolution Editor (as long as the paint synthesizer preset is based on internal embedded MSG processing). Because working with the Evolution Editor to create new processing effects doesn’t require any real understanding of how MSG works internally, it allows naive users the ability to create interesting new paint effects just by clicking preview cells and control buttons to create new effects. And all of this live MSG evolution will work within live auto-painting in real time.
Here’s a tutorial tip that provides more detailed information on using MSG to extend the paint synthesizer.
Here’s a tutorial
tip on evolving and editing MSG presets.
You can also use the evolution tag here on this blog to bring up more posts that discuss different aspects of working with the Evolution Editor.