<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Studio Artist Tips &#187; MSG</title>
	<atom:link href="http://www.synthetik.com/tips/wordpress/tag/msg/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.synthetik.com/tips/wordpress</link>
	<description>Technical Tips and Help for Studio Artist 4 Users</description>
	<lastBuildDate>Wed, 07 Jul 2010 03:25:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Using MSG to Extend the Paint Synthesizer</title>
		<link>http://www.synthetik.com/tips/wordpress/2009/07/using-msg-to-extend-the-paint-synthesizer/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2009/07/using-msg-to-extend-the-paint-synthesizer/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 01:38:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MSG]]></category>
		<category><![CDATA[Paint Synthesizer]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=794</guid>
		<description><![CDATA[
MSG presets can be used to customize and extend the capabilities of the paint synthesizer in many different ways. MSG stands for modular synthesized graphics and is Studio Artist&#8217;s modular image processing architecture. This tip will discuss the various ways you can use MSG presets to customize and enhance the paint synthesizer.
The example image above [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-795" title="beach1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/07/beach1.jpg" alt="beach1" width="489" height="270" /></p>
<p>MSG presets can be used to customize and extend the capabilities of the paint synthesizer in many different ways. MSG stands for modular synthesized graphics and is Studio Artist&#8217;s modular image processing architecture. This tip will discuss the various ways you can use MSG presets to customize and enhance the paint synthesizer.</p>
<p><span id="more-794"></span>The example image above was generated by painting with a dynamic MSG source brush derived from a MSG chaotic attractor preset. By painting with a dynamic chaotic attractor as a paint brush you can create rich organic paint textures and splattering effects where the individual brush shapes are always changing and unique as a painting is generated.</p>
<p><strong>MSG Options in the Paint Synthesizer</strong></p>
<p>Building a MSG source brush is just one of the different options you can take when working with MSG presets in the paint synthesizer. You can also use MSG to build MSG path start generators, MSG path shapes, and MSG brush load types.</p>
<p>Path start, path shape, brush load, and source brush are all different features of the Studio Artist paint synthesizer classic operation mode. Path start generators refer to how the initial starting points for automatically generated paint paths are chosen. Path shape refers to how the shape of an automatically generated paint path is created. Brush load refers to how a dynamic dab of paint is created and loaded onto the digital brush prior to applying the brush to the working canvas. Source brush refers to the initial shape of the digital brush that will be applying paint dabs to the canvas.</p>
<p>So MSG can be used to customize where paint paths are positioned in the canvas, what the individual paint paths look like, what individual dabs of paint that will be applied to the canvas in a paint stroke look like, and what the paint brush that applies the dabs of paint looks like. All of these MSG derived attributes of a painting can be interactively or automatically modulated over time while constructing a painting or an animated movie.</p>
<p>Because MSG is a modular image processing system with over 500 different  image processing modules that can be combined together to build custom MSG presets, there&#8217;s really an infinite variety of different MSG based texture generators or image processing effects you can create. And all of this processing power can be used to customize and extend the capabilities of the paint synthesizer.</p>
<p>Temporal generators (TG) can be used to modulate different editable parameters in a MSG preset. You can work with TG based modulation in different ways when building a MSG derived paint synthesizer preset. The TG modulation could be occurring while a path is being drawn (path modulation), only at the beginning of each newly created path (stroke count modulation), or for each new frame when constructing an animation (frame modulation). TG modulators can be derived from time based oscillators as well as interactive modulators like pen pressure or position.</p>
<p>All of the different MSG paint synthesizer options include individual parameters to determine how TG modulation is used when drawing.</p>
<p>Typically you would use only one of the 4 different MSG paint synthesizer options at a time. You could conceivably use more than 1.  You can currently only work with one MSG preset in the paint synthesizer, so if you have more than one MSG option turned on they will all be working off of the same MSG preset.</p>
<p>E<strong>ncapsulating MSG within a Paint Preset </strong></p>
<p>Whatever the current state of the MSG operation mode settings are, that is what will be used for any MSG derived processing in the paint synthesizer.  This means you could setup a MSG based paint preset and then use the preset browser to load in different MSG presets to use for the MSG derived painting. Whatever was the current MSG preset at any given time is what would be running when painting with the MSG paint synthesizer settings in paint synthesizer classic operation mode.</p>
<p>You can export a paint preset that encapsulates a specific MSG preset within the paint preset file. If you do this, then when you import that paint preset it will overwrite the current MSG operation mode settings as well as the current paint synthesizer settings. In general this is probably the way you want to build your MSG based paint synthesizer presets. If you don&#8217;t, then the next time you import your paint preset it will just use whatever the current MSG operation mode settings are when you try to draw with it.</p>
<p>To encapsulate a MSG preset within a paint preset, you want to make sure the <em>MSG Save in Preset </em>option in the Miscellaneous control panel in the paint synthesizer is turned on prior to exporting the paint preset. Turning this option on ensures that the next time you use a MSG based paint preset it will work the way you expect it to, both when importing the preset from disk or when playing back the preset in a Paint Action Sequence (PASeq).</p>
<p><strong>For More Information</strong></p>
<p>There are a number of articles that have been posted on the Studio Artist News  <a href="http://studioartist.blogspot.com/">blog</a> that discuss working with MSG presets in the paint synthesizer.</p>
<p>Here&#8217;s an <a href="http://studioartist.blogspot.com/2008/10/msg-path-start-generators.html">article</a> that discusses working with MSG path start generators.</p>
<p>Here&#8217;s an <a href="http://studioartist.blogspot.com/2008/10/msg-time-particles.html">article </a>that discusses working with MSG derived time particles.</p>
<p>Here&#8217;s an <a href="http://studioartist.blogspot.com/2008/09/msg-live-source-brush.html">article</a> that discusses painting with dynamic MSG source brushes.</p>
<p>Here&#8217;s an <a href="http://studioartist.blogspot.com/2008/09/painting-with-pickover-chaotic.html">article</a> that discusses painting with MSG derived chaotic attractors.</p>
<p>Here&#8217;s an additional <a href="http://www.synthetik.com/tips/wordpress/2008/08/msg-live-source-brush/">tip</a> on this blog that discusses working with MSG live source brushes.</p>
<p>You can also search this blog for MSG related articles to learn more about working with and building custom MSG presets. If you need to learn more about how the paint synthesizer works, there are a number of different articles here on the tips site that detail how it works and how to program it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2009/07/using-msg-to-extend-the-paint-synthesizer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evolving and Editing MSG Presets</title>
		<link>http://www.synthetik.com/tips/wordpress/2009/05/evolving-and-editing-msg-presets/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2009/05/evolving-and-editing-msg-presets/#comments</comments>
		<pubDate>Mon, 25 May 2009 02:04:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MSG]]></category>
		<category><![CDATA[evolution]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=581</guid>
		<description><![CDATA[
Directed evolution is a powerful technique that can be used to create an infinite variety of new abstract procedural art images or image and video processing effects. The Evolution Editor palette shown above is where you can perform directed evolution of MSG presets. Each of the 16 small images in the Evolution Editor is a [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-582" title="msg2" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/msg2.jpg" alt="msg2" width="425" height="467" /></p>
<p>Directed evolution is a powerful technique that can be used to create an infinite variety of new abstract procedural art images or image and video processing effects. The Evolution Editor palette shown above is where you can perform directed evolution of MSG presets. Each of the 16 small images in the Evolution Editor is a preview of an associated MSG preset.  This tip will discuss how to evolve new MSG presets using the Evolution Editor in conjunction with the MSG Advanced Editor.</p>
<p><span id="more-581"></span><strong>Editing MSG Presets</strong></p>
<p>When you import a MSG preset there is only a very limited set of generic editable parameters in the standard Editor palette. The screen snap below of the Preset Browser shows the default &#8216;a Simple Texture&#8217; MSG preset as the active current preset.</p>
<p><img class="aligncenter size-full wp-image-584" title="preset2" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/preset2.jpg" alt="preset2" width="307" height="275" /></p>
<p>Switching to the Editor palette we can see the limited set of generic MSG parameters in the standard Editor.  These generic parameters shown below only control the MSG effect mix, compositing, and source options.</p>
<p><img class="aligncenter size-full wp-image-583" title="preset1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/preset1.jpg" alt="preset1" width="307" height="185" /></p>
<p>This is different from other Studio Artist operation modes, where the entire set of editable parameters associated with the operation mode effect is available in the Editor palette.</p>
<p>Prior to version 4, you needed to use the MSG Evolver application to fully edit and construct a MSG preset from scratch.  The old MSG Evolver editing functionality is now directly built into Studio Artist 4 in the MSG Advanced Editor palette shown below.</p>
<p><img class="aligncenter size-full wp-image-585" title="msg1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/msg1.jpg" alt="msg1" width="425" height="276" /></p>
<p>Note that the MSG preview in the advanced editor shows the current &#8216;a Simple Texture&#8217; preset that was loaded into the preset browser as the current MSG preset. Whenever a new MSG preset is imported the MSG Advanced Editor reconfigures to display the internal structure of that imported MSG preset. This is also true if you import other preset types like paint synthesizer or dual paint presets if they include an internal MSG component.</p>
<p>For more specifics on detailed editing of MSG presets with the MSG Advanced Editor you can check out this <a href="http://www.synthetik.com/tips/wordpress/2008/08/using-the-msg-advanced-editor/">tip</a>.</p>
<p><strong>MSG Memory Buttons</strong></p>
<p>The small icons at the top of the MSG Advanced Editor are individual memory buttons in the MSG memory bar.</p>
<p><img class="aligncenter size-full wp-image-586" title="msg6" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/msg6.jpg" alt="msg6" width="510" height="69" /></p>
<p>Like all memory buttons in Studio Artist, you option click them to record, click them to play back their contents, and cmnd click them to erase them. Option clicking a MSG memory button will record the current edited MSG preset into the memory button. Clicking a recorded memory button will playback it&#8217;s contents, making the current edited MSG preset match what was recorded in the memory button. You can also drag and drop MSG previews from either the MSG Advanced Editor or the Evolution Editor into memory buttons (or vice versa).</p>
<p>You can use the MSG memory buttons as working memories for MSG presets while you are editing or evolving MSG presets.  You can also use the memory buttons to build a keyframed animation (similar to the way the old MSG Evolver animation memories worked). If you control click in the MSG Advanced Editor you will get a set of MSG context menu commands.</p>
<p><img class="aligncenter size-full wp-image-591" title="msg7" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/msg7.jpg" alt="msg7" width="400" height="240" /></p>
<p>The Generate PASeq Animation from Memories menu command can take the contents of the MSG memory buttons and turn those stored presets into a key-framed Paint Action Sequence (PASeq). The key-framed PASeq can then be used to generate an animation or to process a source movie using the associated action menu commands. This is the v4 equivalent of the old MSG Evolver timeline animation generate and process movie options.</p>
<p>You can choose to display or hide the MSG memory bar by appropriately adjusting the MSG Editor Memories option in the  MSG Preferences shown below set to on.</p>
<p><img class="aligncenter size-full wp-image-587" title="msg3" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/msg3.jpg" alt="msg3" width="446" height="343" /></p>
<p>There are also MSG preferences to set the configuration and preview size of the Evolution Editor MSG preview cells.  Depending on the pixel resolution of your computers display and your personal preferences for workspace organization you can custom configure the Evolution Editor accordingly. For example, I use a smaller grid (3&#215;3 vs 4&#215;4) and preview size (96 vs 128) when running Studio Artist on my powerbook since it has a lower display resolution than a large flat screen desktop display.</p>
<p><strong>Evolving MSG Presets</strong></p>
<p>When you click on the preview icon in the MSG Advanced Editor the Evolution Editor MSG previews will be mutated off of the current MSG preset settings.</p>
<p>Clicking a specific Evolution Editor preview cell will evolve the rest of the preview cells based off of mutation of the MSG preset associated with the cell you clicked. The preset associated with the preview cell you clicked will also become the new current preset in the MSG Advanced Editor, and it&#8217;s preview cell will update accordingly.</p>
<p>You can control the amount of random mutation by adjusting the percent randomization control in the Evolution Toolbar, seen in the screen snap below set to 50%. Increasing this number leads to more randomization and divergence in the mutated results. Decreasing this number leads to less randomization and more similar results when presets are mutated.</p>
<p><img class="aligncenter size-full wp-image-593" title="msg4" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/msg4.jpg" alt="msg4" width="388" height="31" /></p>
<p>The other control buttons in the Evolution Editor toolbar can be used to evolve the existing evolution preview cells in different ways.</p>
<p>Randomize mutates the existing preview cells internal parameters, but doesn&#8217;t change the underlying MSG processor structure.</p>
<p>Swap generates swap evolution, which means that the sequence of internal MSG processors that makes up a given preset is evolved as well as their internal parameters.</p>
<p>Add adds an additional random processor or macro edit effect to the preview cell presets.</p>
<p>Inspire evolves new presets based on the current set of factory MSG presets.</p>
<p>+ moves forwards or backwards through the factory presets.</p>
<p>Each of the control buttons in the Evolution Editor toolbar will act differently depending on which hot keys are used in conjunction with the mouse click on the button. You can get help hints for the buttons (like you can for any interface control) by hovering the cursor above the control and looking in the bottom left corner of the status bar located at the very bottom of the Studio Artist interface. The screen snap below shows the status tip message for the swap button.</p>
<p><img class="aligncenter size-full wp-image-594" title="msg5" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/msg5.jpg" alt="msg5" width="524" height="31" /></p>
<p>Note that holding down the shift or option modifier keys while pressing the swap button will lead to different swap evolution behavior being executed. Shift pressing the swap button causes all of the MSG processors to be swapped, and will lead to radically different evolved results for each preview cell. Option clicking leads to N random swaps, which is not as divergent as swapping all the processors but leads to a greater change than a normal 1 processor swap generated by clicking swap with no modifier keys active.</p>
<p><strong>Direction of Mutation in Evolution</strong></p>
<p>Normal mutation evolution where you click on a MSG preview and derive mutated variants off of the clicked preview preset is divergent. The same thing is true for randomize or swap evolution via the associated toolbar buttons.</p>
<p>What this means is that over repeated mutation cycles the set of presets diverges from their original values, getting more and more different. However, you can use hot key clicks to reverse the direction of mutation.  Using the q or e hot keys while clicking a preview cell will cause the other preview cells to mutate towards the cell being clicked (as opposed to the normal move away from direction of mutation).</p>
<p>The q hot key click uses recombination mutation to move the other preview cells towards the one being clicked.  The e hot key click uses interpolation mutation to move the other preview cells towards the one being clicked. Recombination swaps parameter values but never generates new parameter values other than the ones already being used in the set of presets being mutated. Interpolation means that parameters are moved closer to the target values (the preset preview being clicked) via an interpolation algorithm that generates intermediate parameter values.</p>
<p>You should play with the different hot key variations vs just straight click divergent mutations to get a feel for how these different options work.</p>
<p><strong>Evolution Strategies</strong></p>
<p>There&#8217;s definitely an art to working the various evolution controls to successfully generate interested evolved presets. That&#8217;s not to say that you can&#8217;t generate interesting results by just randomly clicking preview cells or the evolution toolbar buttons. But developing evolution strategies can help you more consistently generate interesting MSG presets via directed evolution.</p>
<p>Directed means that you are directing the evolution process. Your decisions about what presets you like or dislike is what is driving the evolution process.</p>
<p>When you are first starting out, using a large randomization percentage is a useful way to generate a lot of variation as you randomize or swap mutate the preview cells. Then over time as you find you self generating interesting presets, you can turn down the randomize percentage so that your evolved variants are less divergent and more visually consistent.</p>
<p>Swapping all the processors (shift swap) usually leads to generating a lot of junk. But occasionally it may led to something interesting you would not have run into otherwise. Single swaps are in general more useful since they generate more subtle variations in the set of preview presets. After running a swap evolution, you can click on the preview cell you find most interesting and generate a mutated set of variants off of the clicked preview cell. All of those mutated variants will now have the same swapped processor characteristics you found interesting in the preset you clicked. This cycle of swap evolution followed by mutating the most interesting variant, then swap evolving again, etc is a useful evolution strategy to follow.</p>
<p>If you find your set of evolution previews has become too divergent, you could always reverse the direction of mutation by using the q or e hot keys discussed above to evolve the set of preview cells back towards a preset you like the look of.</p>
<p>Shift clicking the add button to add random macro-edit effects is a useful way to add additional complexity to a set of evolution previews. You can also option click the add button to randomly remove a processor from each evolution cell, reducing the complexity of the underlying MSG processor chain and it&#8217;s associated visual effect.</p>
<p>If you feel the presets in the preview cells have become uninspiring, you can always press the + or inspire buttons to bring up factory presets or evolved variants of factory presets.  Continue doing this until you find something visually interesting, and then start evolving off of that interesting preset by clicking it and then running swap &#8211; mutate evolution cycles.</p>
<p>You can use a s hot key click to select a specific evolution grid preset cell. Selected a grid cell makes that cell&#8217;s preset the current preset but doesn&#8217;t modify any of the other cells (which would happen is you just clicked it). You can also drag and drop preview cells to other preview cells to copy their contents.</p>
<p>If you drag and drop a preview cell onto the main canvas that MSG preset will be used to generate a full size canvas image based on running the preset. So it&#8217;s the shortcut equivalent of selecting a preview cell as the current preset and then pressing action to run the MSG effect.</p>
<p><strong>Evolve Help Commands</strong></p>
<p>The integrated help browser offers a large number of different MSG Evolve command links.</p>
<p><img class="aligncenter size-full wp-image-600" title="help1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/05/help1.jpg" alt="help1" width="307" height="261" /></p>
<p>These include command links that run various operations on the evolution editor grid. They also include all of the old MSG Evolver configuration menu commands. These include commands that generate MSG configurations that generate abstract procedural imagery, source processing effects, and meta edit effects that add various processing effects to an existing MSG preset.</p>
<p>Like all active link commands in the help browser, you click on the arrow icon to run the associated command.</p>
<p>For more information on working with evolve help commands check out this <a href="http://www.synthetik.com/tips/wordpress/2008/08/msg-evolve-grid-commands/">tip</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2009/05/evolving-and-editing-msg-presets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coloring MSG Attractors</title>
		<link>http://www.synthetik.com/tips/wordpress/2009/04/coloring-msg-attractors/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2009/04/coloring-msg-attractors/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 20:14:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MSG]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[attractor]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=491</guid>
		<description><![CDATA[
The example above shows the output of a MSG preset that consists of 3 different MSG chaotic attractor processors composited together into a single colorized image. This post will discuss different coloring strategies you can use to build colorized MSG chaotic attractor presets. 
BW Attractors
There are a number of different MSG processors that can generate chaotic attractors. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-492" title="ifs2_sm" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/ifs2_sm.jpg" alt="ifs2_sm" width="450" height="350" /></p>
<p>The example above shows the output of a MSG preset that consists of 3 different MSG chaotic attractor processors composited together into a single colorized image. This post will discuss different coloring strategies you can use to build colorized MSG chaotic attractor presets. </p>
<p><span id="more-491"></span><strong>BW Attractors</strong></p>
<p>There are a number of different MSG processors that can generate chaotic attractors. These presets typically generate a single channel black and white image. A simple example of a 2 processor MSG preset that generates a black and white attractor image is shown below.</p>
<p><img class="alignnone size-full wp-image-493" title="bw1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/bw1.jpg" alt="bw1" width="417" height="250" /></p>
<p>The first IFSGen4 processor is generating the 1 channel black and white chaotic attractor image. Note that it has a single &#8216;Out&#8217; IO port that is connected to the &#8216;R Out&#8217; image stream. Since a MSG preset generates a RGB output image, we need to map the chaotic attractor output to all 3 output color channels. A &#8216;1to3&#8242; processor is used to do this as shown below.</p>
<p><img class="alignnone size-full wp-image-494" title="bw2" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/bw2.jpg" alt="bw2" width="417" height="250" /></p>
<p><strong>Color Gradient Mapping Color Attractors</strong></p>
<p>A simple approach to building a color image from a 1 channel black and white image is to use color gradient mapping. In this approach the 1 channel black and white image is used as the mapping index into a color gradient. Black (0) maps to the left side of the color gradient. White (255) maps to the right side of the color gradient. Gray values (between 0 and 255) map across the color gradient from left to right. The simple MSG preset below shows a color gradient mapped chaotic attractor.</p>
<p><img class="alignnone size-full wp-image-495" title="gradmap1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/gradmap1.jpg" alt="gradmap1" width="417" height="250" /></p>
<p>Note that the first step in this preset is the same as the black and white example we started with. The &#8216;Out&#8217; IO port for the IFSGen4 processor is connected to the &#8216;R Out&#8217; image stream. The screen shot below shows the IO connections for the second &#8216;1to3GradMap&#8217; processor.</p>
<p><img class="alignnone size-full wp-image-496" title="gradmap2" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/gradmap2.jpg" alt="gradmap2" width="417" height="250" /></p>
<p>Note that the 1 channel chaotic attractor output is used as the input for the color gradient mapper as specified by hooking the &#8216;In&#8217; IO port to the &#8216;R Out&#8217; image stream (remember that the output of the chaotic attractor was placed in the &#8216;R Out&#8217; image stream in the step above). The &#8216;ColorGradient&#8217; stream is hooked to the &#8216;Gradient&#8217; IO port.  This color gradient is what is providing the coloring for the colorized attractor output.  The R, G, and B output ports are hooked up respectively to the R, G, and B output image streams. The color gradient used in this preset is shown below.</p>
<p><img class="alignnone size-full wp-image-497" title="gradmap3" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/gradmap3.jpg" alt="gradmap3" width="249" height="135" /></p>
<p><strong>Building up Multiple Color Chaotic Attractors</strong></p>
<p>More complex images can be created by combining together different chaotic attractors that are each rendered in different colors in a single output image. The first image  at the top of this post shows off an example of this kind of multiple attractor colorized output. The screen snaps below will show off how to build up this kind of colorized multi-attractor image.</p>
<p><img class="alignnone size-full wp-image-498" title="colorfill1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/colorfill1.jpg" alt="colorfill1" width="450" height="319" /></p>
<p>The MSG preset shown above generates 3 different colorized chaotic attractors placed on top of a color background. The first &#8216;SetToRGBValue&#8217; processor generates the flat color background. You can see that it&#8217;s 3 RGB output ports are connected to the main RGB Out image streams.</p>
<p><img class="alignnone size-full wp-image-499" title="colorfill2" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/colorfill2.jpg" alt="colorfill2" width="450" height="319" /></p>
<p>The 3 IFSGen4 processors are generating the 3 chaotic attractors used in the final output image. Remember that this kind of chaotic attractor processor generates a single black and white output channel. Since we are building the final output image in the 3 RGB Out image streams, we set the Out IO port for the IFSGen4 attractor output to connect to a temporary image stream buffer called &#8216;Tmp Img&#8217;. This insures that we can use the attractor output image as an alpha matte in the next step without overwriting and destroying our existing color output in the RGB Out streams.</p>
<p><img class="alignnone size-full wp-image-501" title="colorfill3" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/colorfill3.jpg" alt="colorfill3" width="450" height="319" /></p>
<p>The &#8216;RGB Color Fill&#8217; processor is then used to composite a colorized version of the attractor output into the RBB Out image streams. If you look at the IO connections above for this processor you can see that the &#8216;Tmp Img&#8217; stream we placed the attractor output into is used as the &#8216;In Mod&#8217; port for this processor. This modulation input is used as an alpha channel to composite a solid color into a 3 channel color image. Note that we use the same 3 IO channels for the color input and output, the main RGB Out image streams. This is because we are using these 3 image streams to build up our color output image.</p>
<p><img class="alignnone size-full wp-image-502" title="colorfill41" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/colorfill41.jpg" alt="colorfill41" width="450" height="319" /></p>
<p>The parameter values for the &#8216;RGB Color Fill&#8217; processor are shown above. Note that the first 3 parameters specify a specific color. This is the color that will be alpha matted into the 3 channel output image. Setting the &#8216;invert Mod&#8217; parameter to 1 means that the &#8216;In Mod&#8217; modulator image stream is inverted and then the inverted image is used as the alpha matte.</p>
<p>The reason why we are inverting the attractor image for alpha matting is that the attractor processor generates a white background with the attractor represented as gray values building up to full black. The &#8216;RGB Color Fill&#8217; processor composited the full red,green,blue color specified by it&#8217;s editable parameters where ever the modulator channel is full on (or 255). Gray values in the modulator channel are alpha matted with the color at reduced luminance values. Black (0) parts of the modulator image will not alpha matte any color into the RGb output. So we want to invert the attractor output when using it as an alpha matte so that the thin attractor lines will fill with color.</p>
<p>The 2 steps of generating a black and white attractor image in the &#8216;Tmp Img&#8217; image stream and then using that image as an alpha matte to matte in the attractor as solid color are repeated 3 times in the overall preset. This generates a final output image with 3 different attractors matted in with 3 different colors in the final output image. You could use as many different attractors and colors as you wished to build up your final image.</p>
<p><strong>Compositing Color Images with Attractors</strong></p>
<p>Another attractor coloring strategy is to associate each attractor with a specific color image that is then used as the coloring for alpha matting based on the attractor. So instead of matting a solid color like in the example above you use the attractor to matte a color image. The MSG preset below shows off one example of this kind of coloring approach.</p>
<p><img class="alignnone size-full wp-image-509" title="imagemap1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/imagemap1.jpg" alt="imagemap1" width="446" height="297" /></p>
<p>The first step in this preset is the same as before, a SetToRGBValue processor is used to setup a flat color background in the RGB Out image streams. The next 2 processor steps create a random color image in 3 temporary image streams. The GenAdvTurb processor is used to create a random 1 channel black and white texture image in the &#8216;Tmp Img&#8217; stream. That image stream is then used as input for a 1to3Gradmap processor which uses the black and white texture image as the gradient mapping index to generate a color texture image output in the 3 temporary image streams shown above (Tmp RImg, Tmp GImg, Tmp BImg). This random color texture image will then be used as the color image source for alpha matting with a chaotic attractor.</p>
<p><img class="alignnone size-full wp-image-510" title="imagemap2" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/imagemap2.jpg" alt="imagemap2" width="446" height="297" /></p>
<p>The IFSGen4 processor is then used as in the previous example to generate a 1 channel black and white attractor image in the &#8216;Tmp Img&#8217; image stream. This black and white attractor image is then used to modulate the 3C_MixMod processor. The 3C_MixMod processor alpha mattes a color image as opposed to the RGB Color Fill processor used in the previous example which matted a solid color.</p>
<p>The IO connections for the 3C_MixMod processor are shown above. Note that the main RGB Out image streams are used to build up the final output image. The Tmp RImg, Tmp GImg, Tmp BImg streams are used as the source of the random color image that is alpha matted by the image specified for the Mod In Port, which is the &#8216;Tmp Img&#8217; image stream used for the IFSGen4 chaotic attractor output.</p>
<p>Note how the chaotic attractor is colored in with the random color texture field we created. You can build on the approach specified above to use additional attractors that colorize different color texture fields to build up multiple attractor images with more elaborate colorings. The example below shows how to extend the preset to incorporate an additional attractor colorizing a second random color texture field into the final output image.</p>
<p><img class="alignnone size-full wp-image-511" title="imagemap3" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2009/04/imagemap3.jpg" alt="imagemap3" width="215" height="347" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2009/04/coloring-msg-attractors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to MSG</title>
		<link>http://www.synthetik.com/tips/wordpress/2008/10/introduction-to-msg/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2008/10/introduction-to-msg/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 20:50:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MSG]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=380</guid>
		<description><![CDATA[
MSG stands for modular synthesized graphics. MSG is a modular image processing architecture that allows you to build essentially an infinite number of different image or video processing effects or abstract procedural art images or animations. MSG presets can generate abstract procedural art from scratch, or can be configured to process a source image or [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz060.jpg"><img class="alignnone size-medium wp-image-381" title="studioartistscreensnapz060" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz060.jpg" alt="" width="299" height="300" /></a></p>
<p>MSG stands for modular synthesized graphics. MSG is a modular image processing architecture that allows you to build essentially an infinite number of different image or video processing effects or abstract procedural art images or animations. MSG presets can generate abstract procedural art from scratch, or can be configured to process a source image or video frame in some way.</p>
<p>MSG presets can be used as stand alone effects.  They can also be encapsulated into paint synthesizer presets for use in interactive or automatic painting in many different ways.  You can paint with MSG Live source brushes, MSG Brush Load paint nib generation, MSG path start scanning, or MSG path shape generation.</p>
<p><span id="more-380"></span>There are over 500 different MSG processors. Each processor performs some kind of image processing function and typically has a number of user editable parameters. Individual processors are combined together in a linear processor chain list to build a particular MSG effect. Each processor has one or more IO (input-output) ports. IO ports are hooked up to individual Streams. Streams can be individual monochrome image channels as well as things like color gradients or color palettes.   </p>
<p>Every MSG preset will have at least 3 output streams (R Out, G Out, B Out), which correspond to the red,green,blue image channels for the effects output image. If a MSG preset is designed to process an input image, then it will also have 3 input streams (R Src, G Src, B Src) corresponding to the red, green, blue image channels of the input image. Each MSG preset can have up to 3 integral color palettes and color gradients, which can also be accessed via stream io connections. Additional image streams can be used as temporary image buffers when designing an effect.</p>
<p><strong>MSG Presets</strong></p>
<p>A wide range of different prebuilt factory MSG presets are provided to help you get started using MSG. Like all Studio Artist presets, these are organized by Collection and associated Categories.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz063.jpg"><img class="alignnone size-medium wp-image-384" title="studioartistscreensnapz063" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz063.jpg" alt="" width="224" height="300" /></a></p>
<p>MSG parameter editing is a little different than other operation modes in Studio Artist. The normal operation Editor for MSG operation mode is fairly simple as shown below, and provides a way to select the IP Source for the MSG processing as well as the standard Studio Artist mix and compositing controls for determining how the effect output is combined with the existing canvas layer image.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz064.jpg"><img class="alignnone size-medium wp-image-385" title="studioartistscreensnapz064" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz064.jpg" alt="" width="297" height="190" /></a></p>
<p>A special MSG Advanced Editor is provided as a separate palette for detailed MSG parameter editing due to the configurable modular nature of MSG presets. Each preset has a number of editable parameters that can be adjusted in the MSG Advanced Editor to modify the appearance of the generated MSG effect.  </p>
<p><strong>MSG Advanced Editor</strong> </p>
<p>The MSG Advanced Editor provides a way to do detailed editing of a MSG preset.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz061.jpg"><img class="alignnone size-medium wp-image-382" title="studioartistscreensnapz061" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz061.jpg" alt="" width="300" height="204" /></a></p>
<p>The Processor Chain Editor (PChain) shown on the left side of the screen shot above displays the individual editable parameters associated with the current MSG preset. The tab view on the right will update depending on which individual processor is selected in the PChain list, and allows for editing individual parameters, io connections, color gradients and color palettes associated with the processor.</p>
<p>The Src (source) tab provides a complete list of all of the over 500 MSG processors.  You can drag individual processors from the Source Library list to the Processor Chain Editor (PChain list) on the left to build a custom MSG preset.  You can also drag individual processors in the PChain list to edit an existing preset. </p>
<p>When a MSG preset is run, the processors in the PChain list are run one at a time from top to bottom in the list.  Each processor will be accessing one or more IO Streams, reading in the input streams and modifying the output streams depending on the type of processing taking place within the processor.</p>
<p>For more information on the MSG Advanced Editor you can check out this <a href="http://www.synthetik.com/tips/wordpress/2008/08/using-the-msg-advanced-editor/">tip</a>.</p>
<p><strong>Temporal Generators</strong></p>
<p>Each individual editable parameters associated with a MSG processor can have an associated Temporal Generator (TG).  You can think of a temporal generator as a time based oscillator or modulator that allows for procedural animation of the associated parameter value over time in an animation. TG&#8217;s can also be used to associate interactive modulators like pen pressure, tilt, proximity with a particular processor, allowing for dynamic live modulation of a MSG preset&#8217;s behavior.  This can be very useful when embedding MSG presets in a paint synthesizer preset.</p>
<p>The screen snapshot below shows that a Ramp temporal generator has been associated with the Phase parameter associated with the currently selected MSG processor in the PChain list.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz062.jpg"><img class="alignnone size-medium wp-image-383" title="studioartistscreensnapz062" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz062.jpg" alt="" width="300" height="65" /></a></p>
<p>Clicking on the TG cell for a particular parameter will bring up a popup that shows a wide range of different TG modulators. The Inc TG cell (short for increment) determines the number of frames the ramp will cycle over, 90 frames in the example shown above. The cycle will sweep between the min and max tg values.</p>
<p> </p>
<p><strong>MSG Evolution Editor</strong></p>
<p>The image at the top of this tip shows off 16 different MSG presets displayed in the Evolution Editor. The Evolution Editor mimics the functions available in the MSG Evolver application that shipped with Studio Artist 3.5. By pressing on an individual MSG preset you can evolve 15 new mutated variations. By working with the controls in the Evolution Toolbar at the top of the Evolution Editor or by using the MSG Editing Commands in the integral Help viewer you can access a wide range of different ways to interactively evolve new sets of MSG presets. Directed evolution is a very powerful way to create new presets and abstract art of animations that doesn&#8217;t require you to have an real understanding of the technical details associated with the MSG architecture.</p>
<p>The evolution editor toolbar is located at the top of the evolution editor and provides a number of different command buttons you can use to direct evolution within the editor&#8217;s MSG preview cells.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz065.jpg"><img class="alignnone size-medium wp-image-386" title="studioartistscreensnapz065" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz065.jpg" alt="" width="300" height="45" /></a></p>
<p>The Randomize button will randomly mutate the editable parameters associated with the MSG presets in the preview cells based on the % mutation value in the adjustable control to it&#8217;s left. Making this % value smaller will decrease the amount of mutation, increasing it&#8217;s value will increase the amount of mutation.</p>
<p>The Swap button will randomly swap individual processors. Shift clicking the Swap button randomly swaps all of the individual processors. The Add button adds a random processor to the PChain list.  Shift clicking the Add button adds a MSG macro effect. The Inspire button will evolve random variations based off of the current set of MSG presets. The + button will move linearly through the MSG presets without performing any additional evolution.</p>
<p>All of the evolution toolbar buttons have additional functionality available via modifier keys. If you hold the cursor above the button you can read a help tip for that button in the status area located at the bottom left of the Studio Artist workspace.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz066.jpg"><img class="alignnone size-medium wp-image-387" title="studioartistscreensnapz066" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/10/studioartistscreensnapz066.jpg" alt="" width="300" height="10" /></a></p>
<p>For more information on directed evolution of MSG presets check out this <a href="http://www.synthetik.com/tips/wordpress/2008/08/msg-evolve-grid-commands/">tip</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2008/10/introduction-to-msg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abstracting a Source Image Using MSG</title>
		<link>http://www.synthetik.com/tips/wordpress/2008/09/abstracting-a-source-image-using-msg/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2008/09/abstracting-a-source-image-using-msg/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 00:52:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MSG]]></category>
		<category><![CDATA[abstraction]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=233</guid>
		<description><![CDATA[MSG (modular synthesized graphics) is Studio Artist&#8217;s modular image processing architecture. 500 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 [...]]]></description>
			<content:encoded><![CDATA[<p>MSG (modular synthesized graphics) is Studio Artist&#8217;s modular image processing architecture. 500 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.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/rollar16.jpg"><img class="alignnone size-medium wp-image-234" title="rollar16" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/rollar16.jpg" alt="" width="300" height="300" /></a></p>
<p><span id="more-233"></span>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.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/sourceimage.jpg"><img class="alignnone size-medium wp-image-239" title="sourceimage" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/sourceimage.jpg" alt="" width="88" height="118" /></a></p>
<p>So this particular image processing effect creates an extreme abstraction based off of the representational image it uses as it&#8217;s source for processing.  Different source images used as input to the effect will generate different abstractions in a similar style at the effect&#8217;s output, so the effect is actually being derived by processing the source image.</p>
<p>The processor chain used to create this particular MSG preset is shown below.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/msgpreset.jpg"><img class="alignnone size-medium wp-image-235" title="msgpreset" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/msgpreset.jpg" alt="" width="196" height="300" /></a></p>
<p>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.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/msgbus.jpg"><img class="alignnone size-medium wp-image-236" title="msgbus" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/msgbus.jpg" alt="" width="205" height="206" /></a></p>
<p>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.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/msgprocessor1.jpg"><img class="alignnone size-medium wp-image-237" title="msgprocessor1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/msgprocessor1.jpg" alt="" width="300" height="256" /></a></p>
<p>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&#8217;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.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/msgprocessor2.jpg"><img class="alignnone size-medium wp-image-238" title="msgprocessor2" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/09/msgprocessor2.jpg" alt="" width="300" height="256" /></a></p>
<p>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.  </p>
<p>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&#8217;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.</p>
<p>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.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2008/09/abstracting-a-source-image-using-msg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recursive IO Connections in MSG Presets</title>
		<link>http://www.synthetik.com/tips/wordpress/2008/08/recursive-io-connections-in-msg-presets/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2008/08/recursive-io-connections-in-msg-presets/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 00:08:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MSG]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[threading]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=186</guid>
		<description><![CDATA[Wikipedia includes the following as an explanation for recursion. &#8221;In order to understand recursion, one must first understand recursion.&#8221; But we&#8217;re going to try and explain it here anyway. Recursive IO connections in the context of a MSG preset means that a given input Stream for a processor is also used as the output Stream.
Oftentimes this [...]]]></description>
			<content:encoded><![CDATA[<p>Wikipedia includes the following as an <a href="http://en.wikipedia.org/wiki/Recursion">explanation</a> for recursion. &#8221;In order to understand recursion, one must first understand recursion.&#8221; But we&#8217;re going to try and explain it here anyway. Recursive IO connections in the context of a MSG preset means that a given input Stream for a processor is also used as the output Stream.</p>
<p>Oftentimes this kind of connection is not unusual and is what you would want to do when editing a MSG preset. Many MSG processors work in a pixel by pixel fashion and could really care less whether their IO connections are recursive or not. However, some specific MSG processors that implement geometric transformations will generate radically different output images depending on whether their io connections are recursive or not. When used with these specific MSG processors recursive io connections can lead to a kind of visual feedback being created in the visual output from the processor as seen in the example image below.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/y1.jpg"><img class="alignnone size-medium wp-image-187" title="y1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/y1.jpg" alt="" width="300" height="231" /></a></p>
<p>Image created using recursive io connections in a MSG preset.</p>
<p><span id="more-186"></span>Again, recursive io connectctiomeans that the same image stream used for an input is also used for an output. If a particular processor works with color images then this would mean the same 3 image streams used for the color image input would also be used as the output streams if the io connections were recursive.</p>
<p>The image above was created with a MSG preset with recursive io connections. The image is visually interesting, so sometimes you might actually want recursive io connections in a particular preset depending on what you are trying to achieve visually.</p>
<p>But you need to be aware that the nature of the visual distortion introduced by the recursive io connections is often very difficult to control, and may radically change as the processed image size or aspect ratio changes. The visual distortion can also be dependent on the number of processors in your computer.</p>
<p>The horizontal banding seen in the image above is actually created by an interaction between the recursive io connections and the geometric transformations being threaded to run different parts of the canvas in parallel on multiple cpus. If you want consistent visual output for a particular msg preset that is not dependent on the number of cpus or canvas size then you should avoid using recursive io connections in your presets.</p>
<p><strong>MSG IO Editing</strong></p>
<p>Let&#8217;s take a look at a simple MSG preset that uses a processor that performs a geometric transformation and is recursive io sensitive. The particular processor we will use is the 3CKaleido processor which generates a kaleidoscopic warp effect.</p>
<p>The screen snap below shows a non-recursive io connection for the 3CKaleido processor. Note that different image streams are used for the input and output stream connections.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/recursive1.jpg"><img class="alignnone size-medium wp-image-188" title="recursive1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/recursive1.jpg" alt="" width="300" height="216" /></a></p>
<p>This next screen snap shows an edited version of this particular preset where the 3CKaleido processor&#8217;s io connections have been edited to be recursive connections.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/recursive2.jpg"><img class="alignnone size-medium wp-image-189" title="recursive2" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/recursive2.jpg" alt="" width="300" height="216" /></a></p>
<p>Note that the MSG preview image for the preset has changed radically and now exhibits a vertical banding. This is true even though none of the editable parameters associated with the processor have been changed. Note that there are 8 different vertical bands, which corresponds to the fact that this preview was created on a pro-tower computer with 8 internal processors. If i had run the same preset on a 2 cpu computer there would only be 2 bands.</p>
<p>Even if the recursive preset was run on a single processor the visual output would be very different from the non-recursive version of the preset. To understand why this is the case you need to think though what is happening in a processor that implements some kind of geometric transformation. What this means is that an output pixel at a given spatial position in the image may be coming from a completely different spatial position in the input image.</p>
<p>If different image stream buffers are used for the input and output than this transformation spatial mapping will always be consistent. But when the same image stream buffer is used for both the input and the output then the geometric transformation may be referencing previously processed output pixels or unprocessed input pixels depending on what area of the recursively connected image stream is being referenced as processing progresses.</p>
<p>And if the canvas has been split into bands and threaded to multiple cpu for parallel processing then what could be happening visually gets even more elaborate.  Not all recursive io sensitive processors will display banding artifacts.  It depends on the nature of the particular processor and whether it is internally threaded on multiple cps or not.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/recursive3.jpg"><img class="alignnone size-medium wp-image-190" title="recursive3" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/recursive3.jpg" alt="" width="282" height="228" /></a></p>
<p>There is a useful command link shown above that is available in the MSG Evolve Commands help called &#8216;Fix Recursion Problems&#8217; that when executed will try and intelligently automatically remove any recursive io connections in the MSG presets in the Evolution grid.</p>
<p><strong>Threading and Recursive Visual Effects</strong></p>
<p>As mentioned above, some MSG processors that thread or split their internal processing across multiple cpu cores can generate dramatically different visual output when used with recursive IO connections. Processors that perform warp or geometric distortions are one example of the kind of processor that shows this kind of threading behavior.</p>
<p>Sometimes the visual banding leads to amazing visual effects and is just what you want for your MSG output. But other times it would be nice to turn off threading so as to not have visual banding artifacts in the MSG output.</p>
<p>Studio Artist 4 included a new MSG preference option called MSG Threading that can be used to control MSG processor threading.</p>
<p><img class="aligncenter size-full wp-image-892" title="StudioArtistScreenSnapz141" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/StudioArtistScreenSnapz141.jpg" alt="StudioArtistScreenSnapz141" width="466" height="184" /></p>
<p>The optimal setting means that the optimal number of processor cores will be used to run threaded MSG operations. So a 2 processor machine would split 2 threads for a threaded processor, an 8 cour machine would split 8 threads for a threaded processor, etc. These 2 hypothetical situations would generate a 2 or 8 horizontal banded output image respectively when used with recursive io connections.</p>
<p>The off setting turns off MSG threading. So if you use this setting your MSG presets will run slower since multiple threads will not be spun off to speed up processing. But any banding artifacts due to recursive processing will be removed.</p>
<p>The image below shows an abstract procedural image created with MSG processors using recursive io connections and threading turned on with the optimal setting on an 8 processor computer.</p>
<p><img class="aligncenter size-full wp-image-893" title="m4-threaded_sm" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/m4-threaded_sm.jpg" alt="m4-threaded_sm" width="320" height="240" /></p>
<p>The image below uses the same MSG preset as the image above but was generated with the MSG Threading preference set to off.</p>
<p><img class="aligncenter size-full wp-image-894" title="m4_sm" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/m4_sm.jpg" alt="m4_sm" width="320" height="240" /></p>
<p>Note that the non threaded image doesn&#8217;t have any horizontal banding and shows off the wild visual patterning caused by the recursive processing. Whether it makes sense to use threading or not for a given recursive io connection MSG preset depends on your own personal tastes and what you are trying to achieve in a given MSG effect.</p>
<p>If you do turn off MSG threading, make sure to reset it to the optimal setting when you are finished with your recursive processing. In general you want threading turned on since a given processor that uses threading will speed up approximately Nx times on a N processor computer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2008/08/recursive-io-connections-in-msg-presets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MSG Live Source Brush</title>
		<link>http://www.synthetik.com/tips/wordpress/2008/08/msg-live-source-brush/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2008/08/msg-live-source-brush/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 22:38:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Paint Synthesizer]]></category>
		<category><![CDATA[MSG]]></category>
		<category><![CDATA[source brush]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=151</guid>
		<description><![CDATA[MSG Live is a new Source option in the paint synthesizer&#8217;s Brush Source control panel. This source brush option uses the current MSG preset to generate a source brush image buffer on the fly when drawing. Any MSG preset can be used to interactively generate the source brush, which means you can use Temporal Generators [...]]]></description>
			<content:encoded><![CDATA[<p>MSG Live is a new Source option in the paint synthesizer&#8217;s Brush Source control panel. This source brush option uses the current MSG preset to generate a source brush image buffer on the fly when drawing. Any MSG preset can be used to interactively generate the source brush, which means you can use Temporal Generators (TG) to modulate parameters in real time with either temporal oscillators or Wacom pen modulators like pressure or tilt while drawing.  </p>
<p>The MSG presets can be purely generative or can be source processing presets, which allows you to generate dynamic brush shapes on the fly from processing or modulating the local canvas or source areas the brush is passing over when drawing. MSG Live Source Brushes allow for an extensive range of custom interactive paint effects due to the modular nature of MSG presets. The factory presets that show off this new technique barely scratch the surface of the infinite range of possible paint effects you could generate with it.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga1.jpg"><span id="more-151"></span><img class="alignnone size-medium wp-image-152" title="msga1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga1.jpg" alt="" width="300" height="300" /></a></p>
<p>The screen snap above shows the Brush Source control panel for the Paint Synthesizer configured with the MSG Live Source option. Note that the source brush preview image at the bottom left of the Editor switches to show a MSG preview when editing a MSG Live Source Brush.  </p>
<p>You can edit the Horizontal and Vertical size of the source brush. Recall that the source brush sizing in the paint synthesizer is the maximum brush size. You have additional brush size and orientation modulation parameters in the Brush Modulation control panel that can be used to interactively modulate this maximum brush size when drawing.</p>
<p>The MSG TG Option lets you specify how Temporal Generators (TG) will modulate the MSG Live Source Brush internal parameters when drawing. The TG&#8217;s can be path or frame time modulated. Path modulation is useful to have the TG&#8217;s modulate over the course of a paint stroke (as opposed to modulating over the passage of frame times in a PASeq animation).</p>
<p>The MSG Angle Mod parameter allows you to specify a global angle parameter modulator for the MSG preset and is useful to specify the interactive behavior of the MSG Live brush when painting. You could use TG&#8217;s attached to the internal processing modules angle parameters but specifying the modulation from the paint synthesizer is a nice shortcut editing feature. Since MSG Live brushes are generated on the fly while drawing (as opposed to being pre-cached like computational source brushes) you can ignore the Brush Modulation control panel rotation controls and specify the brush rotation modulation here.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga2.jpg"><img class="alignnone size-medium wp-image-153" title="msga2" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga2.jpg" alt="" width="246" height="232" /></a></p>
<p>The screen snap above shows the Processor Chain for the simple MSG preset we are using for the MSG Live Source Brush in this tip. It consists of one 3C Abstract CG modular processor.  This processor generates an abstract procedural vector color image. The parameter editing list for this processor is shown below.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga3.jpg"><img class="alignnone size-medium wp-image-154" title="msga3" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga3.jpg" alt="" width="300" height="113" /></a></p>
<p>Note that a Temporal Generator (TG) is being used the modulate the random Seed parameter for the processor. The use of the uniform noise TG modulator means that the random seed for the vector shape generator in the 3C Abstract CG processor is being randomly adjusted each time a new brush image is generated from the MSG preset. This creates a constantly changing procedural texture for the source brush as seen in the paint stroke drawn below with this preset.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga5.jpg"><img class="alignnone size-medium wp-image-155" title="msga5" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga5.jpg" alt="" width="300" height="104" /></a></p>
<p>Typically when creating a new MSG Live Source Brush preset you will want to save the MSG preset you are using as a part of the actual paint synthesizer preset file. To do this, make sure the MSG Save in Preset parameter in the Miscellaneous control panel in the paint synthesizer (as shown below) is turned on prior to exporting the preset.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga4.jpg"><img class="alignnone size-medium wp-image-156" title="msga4" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga4.jpg" alt="" width="300" height="178" /></a></p>
<p>MSG presets can be used in several different parts of the paint synthesizer in addition to the source brush control panel. This is why the MSG Save in Preset paramter is in the Misc control panel, as opposed to in Source Brush or MSG Brush Load (where it used to be in 3.5) control panels.</p>
<p>You can use a MSG preset as a path start generator. This is a way to create fractal imagery from things like IFS (iterated fractal system) MSG processors, where the IFS fractal system is being used to specify the path start locations for paint synthesizer drawing. Or, you can use a MSG preset like this to generate the Path Shape vector path used for drawing. This is done with the MSG Attractor Load Type option when used with a Path Load Path Type option in the Path Shape control panel (as shown below).</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga6.jpg"><img class="alignnone size-medium wp-image-157" title="msga6" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga6.jpg" alt="" width="300" height="168" /></a></p>
<p>There is also a MSG Brush Load option, which lets you use a MSG preset to generate the Paint Brush Load image.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga7.jpg"><img class="alignnone size-medium wp-image-158" title="msga7" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msga7.jpg" alt="" width="300" height="244" /></a></p>
<p>Recall that the paint synthesizer applies a paint image to a generated brush that is then applied to the actual draw canvas. The Paint Brush Load is a Paint Fill Setup option that allows for a dynamic paint image in this overall paint synthesis process. This is different than the Live Brush Source we have been referring to in the rest of this tip, which is the first component in the 2 part Brush Source &#8211; Brush Type brush generation process when painting with the paint synthesizer.  </p>
<p>You could use the same MSG preset to both generate a live source brush and a live paint load in a special situation, but typically you would only use the MSG preset for one or the other.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2008/08/msg-live-source-brush/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Simple MSG Zoom Preset Example</title>
		<link>http://www.synthetik.com/tips/wordpress/2008/08/simple-msg-zoom-preset-example/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2008/08/simple-msg-zoom-preset-example/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 22:43:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MSG]]></category>
		<category><![CDATA[editing]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=134</guid>
		<description><![CDATA[
Someone asked about how to create a PASeq action step that could zoom the canvas in or out in a controlled fashion. You could of course use the Scale Uniform Interactive Warp to do this. Another approach is to build a MSG preset that scales the canvas. This is an extremely simple MSG preset to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom1.jpg"><img class="alignnone size-medium wp-image-135" title="zoom1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom1.jpg" alt="" width="300" height="134" /></a></p>
<p>Someone asked about how to create a PASeq action step that could zoom the canvas in or out in a controlled fashion. You could of course use the Scale Uniform Interactive Warp to do this. Another approach is to build a MSG preset that scales the canvas. This is an extremely simple MSG preset to construct and we&#8217;ll detail how to build it here.</p>
<p><span id="more-134"></span>If the MSG Advanced Editor is not currently up in the interface use the Window : MSG Advanced Editor menu to bring it onto the screen. I have configured one of my custom workspace memories for MSG Editing so it&#8217;s easy for me to use the menu command key to switch my workspace on the fly for MSG Editing as shown above.</p>
<p>Make sure the Processor Chain (PChain) tab on the bottom left editing list is active. Empty out the processor chain list by selecting the existing processors one by one and pressing the delete key to delete them.  </p>
<p>Now you need to construct your new MSG scaling preset.  You can do this by adding one 3CRotateScale processor to the Processor Chain list. To do this, select the Source (Src) tab for the right side list in the MSg Advanced Editor. This will bring up the processor source library when the Processor Chain is active on the left side. Scroll the processor source list until you get to the 3CRoateScale processor. You can also type characters when the list is active to automatically scroll the alphabetical processor list to the processor starting with the characters you typed. Select this processor and drag and drop it over to the Processor Chain list. You should now see 1 3CRotateScale processor in the processor chain editor.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom3.jpg"><img class="alignnone size-medium wp-image-136" title="zoom3" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom3.jpg" alt="" width="300" height="194" /></a></p>
<p>Select the 3CRotateScale processor in the Processor Chain Editor. Then select the Parameter (Parm) tab in the context sensitive right side editing area. This will bring up the editable parameters for the processor you selected.  This particular processor can scale and rotate an image. Since we are only interesting in scaling and not rotating we want to make sure the Angle parameter stays set to 0. I locked this parameter as well as the H and V Center parameters to insure this would be the case. The Scale parameter is what will define the zoom in or out. Make it negative to zoom in, positive to zoom out. The Bound parameter determines whether the borders reflect or tile or do nothing when scaling out. </p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom4.jpg"><img class="alignnone size-medium wp-image-137" title="zoom4" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom4.jpg" alt="" width="300" height="140" /></a></p>
<p>Now select the IO tab in the context sensitive right side editing area. This will bring up the IO (input-out) connections. You need to set these up properly so that the processor takes the Src image Streams as inputs and the Out image Streams as outputs.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom2.jpg"><img class="alignnone size-medium wp-image-138" title="zoom2" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom2.jpg" alt="" width="300" height="147" /></a></p>
<p>The screen snap above shows the correct assignments for the Bus Streams for the various IO Ports for the selected processor. If your IO connections are different, you will need to adjust the Bus Stream connections for the various Ports to match the configuration shown above. This configuration takes the RGB Src streams as inputs for the processor and uses the RGB Out Streams for the output from the processor.  </p>
<p>If you don&#8217;t match up the color stream correctly (placing a B Src for the In R port for example), then the output image coloring will not be correct. You can try this to see the effect if you wish. Another potential problem would be to connect the Out Steams to the In Ports. Try this if you want and you will see the result of a recursive IO connection for a geometric distortion processor type (useful for special effects sometimes but technically incorrect)</p>
<p>Depending on the current state of the Bus when you started editing this preset, you may be missing the Src streams. If this is the case, you can edit the Bus to add them prior to adjusting the processors IO connections. To do this, you would select the Bus tab for the lift side list. You would then select the Source (Src) tab for the context sensitive right side area. This would bring up the Stream source library. You could then drag the individual Src streams (R Src, G Src, B Src) from the stream source library to the Bus list.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom5.jpg"><img class="alignnone size-medium wp-image-139" title="zoom5" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom5.jpg" alt="" width="300" height="197" /></a></p>
<p>You will notice that when i checked the current Bus list when putting together this example i had an additional ColorGradient stream in my MSG Bus list. I didn&#8217;t need to include this additional Stream since it&#8217;s not used in the preset i built. But it doesn&#8217;t cause any problems to have it there.  Since it&#8217;s not connected to any of the processors in the Processor Chain (just 1 processor in this particular example) it&#8217;s just ignored when the preset is run.</p>
<p>There&#8217;s one more thing you should check when building or using a MSG preset. All of the controls associated with building a MSg preset are in the MSG Advanced Editor. But how the MSG preset interacts with the current source and canvas in Studio Artist is controlled in the normal generic Editor palette. So you will need to go to the generic Editor palette when in MSG operation mode and make any adjustments there depending on how you want to use the MSG preset. You can always use the Operation : MSG ; MSG generic menu if you are unclear on how to switch the operation mode to MSG and bring up the generic Editor in the interface.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom6.jpg"><img class="alignnone size-medium wp-image-140" title="zoom6" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/zoom6.jpg" alt="" width="234" height="300" /></a></p>
<p>Looking at the screen snap of the Editor settings above we can see that the MSG Preset&#8217;s IP Source is using the Source Image as the source for the MSG processing. If you wanted to process the existing canvas image instead you could switch the Ip Source parameter to Current Layer. You also have additional parameter options for Mix and Compositing the effect into the existing canvas. These controls mirror the standard compositing functionality you see in other Studio Artist operation modes like image processing or the texture synthesizer.</p>
<p>When you export a MSG preset the generic MSg parameters shown in the generic Editor palette above are stored in the preset file in addition to the advanced MSG parameters that define the modular architecture of the MSG preset.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msgexample1.zip">msg zoom preset</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2008/08/simple-msg-zoom-preset-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MSG Evolve Grid Commands</title>
		<link>http://www.synthetik.com/tips/wordpress/2008/08/msg-evolve-grid-commands/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2008/08/msg-evolve-grid-commands/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 07:26:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MSG]]></category>
		<category><![CDATA[evolution]]></category>
		<category><![CDATA[procedural art]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=102</guid>
		<description><![CDATA[
There are a number of different active link user commands you can access in the Help Browser that can be used to control directed evolution of MSG presets in the Evolution Editor palette. If you have previously used the MSG Evolver application to evolve MSG presets some of these will be familiar to you. When [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/cmnd1.jpg"><img class="alignnone size-medium wp-image-103" title="cmnd1" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/cmnd1.jpg" alt="" width="300" height="174" /></a></p>
<p>There are a number of different active link user commands you can access in the Help Browser that can be used to control directed evolution of MSG presets in the Evolution Editor palette. If you have previously used the MSG Evolver application to evolve MSG presets some of these will be familiar to you. When these commands are run on the evolution grid each msg preset preview in the grid is modified by the command.</p>
<p><span id="more-102"></span>Often there are 2 different command options (observe the color coded triangle icons above). One runs the command on the existing contents of the evolution grid. The other runs the command on the MSG editor preview and fills the grid using that as the source for the command.</p>
<p><strong>Grid Evolution Commands</strong></p>
<p><strong>Randomize</strong> &#8211; randomly mutates the parameters</p>
<p><strong>Swap 1</strong> &#8211; randomly swaps 1 processor</p>
<p><strong>Swap Random N</strong> &#8211; randomly swaps random N processors</p>
<p><strong>Swap All</strong> &#8211; randomly swaps all processors</p>
<p><strong>Insert 1</strong> &#8211; randomly inserts a new processor in the the processor chain</p>
<p><strong>Delete 1</strong> &#8211; randomly deletes 1 processor from the processor chain</p>
<p><strong>Add MetaEffect</strong> &#8211; randomly selects a meta edit effect and runs it on the processor chain</p>
<p><strong>Add Color Gradient MetaEdit</strong> &#8211; randomly runs a color gradient meta edit</p>
<p><strong>Add Color Palette MetaEdit</strong> - randomly runs a color palette meta edit</p>
<p><strong>ReSeed</strong> &#8211;  any random see parameters are randomly reset</p>
<p><strong>Fix Recursion Problems</strong> &#8211; looks for potential problems with recursive io connections and fixes them</p>
<p> </p>
<p><strong>Grid Generate Commands</strong></p>
<p><strong>Scan Backward Presets Once</strong> &#8211; scans forward through the factory msg presets</p>
<p><strong>Scan Forward Presets Once</strong> - scans backwards through the factory msg presets</p>
<p><strong>Scan Random Presets Once</strong> - scans randomly through the factory msg presets</p>
<p><strong>AutoEvolve Random Presets Once</strong> &#8211; auto evolves random factory presets</p>
<p><strong>Auto Configuratio</strong>n &#8211; generates random fixed configurations</p>
<p> </p>
<p><strong>Evolve Continuous Command</strong>s</p>
<p>These commands mirror the ones explained above but will continuously update the evolution grid every few seconds until stopped by pressing the spacebar.</p>
<p> </p>
<p><strong>Directed Evolution Strategies</strong></p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/snapz-pro-xscreensnapz044.jpg"><img class="alignnone size-medium wp-image-104" title="snapz-pro-xscreensnapz044" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/snapz-pro-xscreensnapz044.jpg" alt="" width="286" height="299" /></a></p>
<p>Working with directed evolution in the Evolution Editor to create procedural art is somewhat of an art in itself. There&#8217;s a definite feel to it and with practice you will get better. The more you work with the various commands described above the better feel you will get for the process.  </p>
<p>Randomly mutating parameters in a fixed processor configuration will generate endless variations on a particular effect or art style, but will never break new ground in terms of complexity of the effect or changes in the style of the generated output.  </p>
<p>Swapping processors changes the nature of the effect since the actual processors and their associated io connections are changing. Swapping one random processor will not create as radical an effect as swapping all of the processors, which can often be too radical a change or lead to garbage. Swapping N random processors is somewhere in between the two. Sometimes Swap All will break you out of a rut into something new but often it&#8217;s too much of a change and leads into a bad configuration.</p>
<p>Often the best approach is to repeatably use Swap 1 to generate new sets of presets in the evolution grid, followed by clicking on the one you like best to mutate variations of that swapped configuration, then repeat as necessary. Doing this over and over will move you slowly through the overall MSG configuration space in a controlled fashion. You can always undo to drop back to your previous evolution grid if you don&#8217;t like what a particular evolve command did.</p>
<p>Adding a MetaEffect is a great way to take something simple and add additional complexity. Doing this and then following it by a series of Swaps can lead to processor configurations you would have never have thought to try and potentially stunning visual effects. Or a lot of garbage. The trick to directed evolution is to figure out how to avoid the garbage and direct the evolution grid over time to get visually interesting results for your particular artistic sense and style.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/snapz-pro-xscreensnapz042.jpg"><img class="alignnone size-medium wp-image-107" title="snapz-pro-xscreensnapz042" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/snapz-pro-xscreensnapz042.jpg" alt="" width="172" height="300" /></a></p>
<p>Here&#8217;s an example of a preview of a procedural image created by directed evolution and the associated processor chain that creates the preview image. This is a good example of something created by starting with a simple pre built preset followed by adding 2 MetaEffects and a random Insert to increase complexity followed by a series of directed Swap 1 and click Mutation evolution steps until i arrived at something i really liked.  </p>
<p>Often when that happens you have entered a sweet spot in the MSG configuration space. By sweet spot i mean that with every Randomize or Swap 1 command you generate more interesting preview images that contain a lot of potential keepers. A sweet spot is always a good place to restart directed evolution at a later time. You can do this by loading a MSG preset you previously saved from the sweet spot and running one of the commands that derives the evolution grid from the preview image as source for the grid command.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2008/08/msg-evolve-grid-commands/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MSG Coloring Strategies</title>
		<link>http://www.synthetik.com/tips/wordpress/2008/08/msg-coloring-strategies/</link>
		<comments>http://www.synthetik.com/tips/wordpress/2008/08/msg-coloring-strategies/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 06:38:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MSG]]></category>
		<category><![CDATA[procedural art]]></category>
		<category><![CDATA[texture]]></category>

		<guid isPermaLink="false">http://www.synthetik.com/tips/wordpress/?p=89</guid>
		<description><![CDATA[This tip focuses on some simple editing strategies for generating coloring effects in abstract imagery created with MSG presets. A color MSG output image consists of 3 image Streams (R Out, G Out, B Out). RGB stands for red-green-blue.  
Each image stream in a MSG preset is a monochrome image. So generating a color output [...]]]></description>
			<content:encoded><![CDATA[<p>This tip focuses on some simple editing strategies for generating coloring effects in abstract imagery created with MSG presets. A color MSG output image consists of 3 image Streams (R Out, G Out, B Out). RGB stands for red-green-blue.  </p>
<p>Each image stream in a MSG preset is a monochrome image. So generating a color output means that 3 image streams need to be generated. There are many different editing strategies that can be used to create a color image and we&#8217;ll run through a few examples below. All of the examples shown will use the same simple monochrome texture field created by the AdvTurb processor. The screen snap below shows the io routing for the AdvTurb processor, which takes the R Out stream as its input and output.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc9.jpg"><img class="alignnone size-medium wp-image-100" title="mc9" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc9.jpg" alt="" width="300" height="162" /></a></p>
<p><span id="more-89"></span>AdvTurb is short for advanced turbulence.  This processor can generate a wide variety of different procedural texture fields.  It also has an input io port which can be used to locally modulate different parameters associated with the texture field generation process.  The SetToValue processor is just creating a flat color image in the R Out stream which would be the simplest modulator possible to use as an input modulator for the AdvTurb processor.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc4.jpg"><img class="alignnone size-medium wp-image-95" title="mc4" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc4.jpg" alt="" width="300" height="156" /></a></p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc4.jpg"></a>This example above shows how the monochrome output stream from the AdvTurb processor is then used as the input to a 1to3 processor. The IO Port connections are shown in the screen snap above. The 1to3 processor is very simple and just routes it&#8217;s input stream to its 3 output streams with no additional processing.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc5.jpg"><img class="alignnone size-medium wp-image-96" title="mc5" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc5.jpg" alt="" width="300" height="156" /></a></p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc5.jpg"></a>This next example above replaces the 1to3 processor in the previous preset with a 1to3GradMap processor. This processor has 2 input ports, one for an image stream and the other for a color gradient stream. The input image stream is used as a mapping index into the color gradient. So the 1to3GradMap processor takes a black and white image and converts it into a 3 stream color image. By changing the color gradient you can change the coloring of the texture field.</p>
<p>Gradient or palette mapping a monochrome image is a common technique to take a black and white monochrome image and turn it into a color one. Each has a characteristic aesthetic look to it.<a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc6.jpg"><img class="alignnone size-medium wp-image-97" title="mc6" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc6.jpg" alt="" width="300" height="156" /></a></p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc6.jpg"></a>Here&#8217;s an example of modifying the preset shown above to use a 1to3PaletteMap processor. This processor again has 2 inputs, one for an image stream and the other for a color palette stream. So the 1to3PaletteMap processor takes a black and white image and converts it into a 3 stream color image. By changing the color palette you can change the coloring of the texture field.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc7.jpg"><img class="alignnone size-medium wp-image-98" title="mc7" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc7.jpg" alt="" width="300" height="161" /></a></p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc7.jpg"></a>An alternative to mapping a monochrome image into a color one is to generate 3 different monochrome images, one for each of the 3 color streams in the output color image. The preset above shows a simple example of this approach. Notice that there is a characteristic look to the end result. The technique shown next is a way to take this basic strategy and make it more visually appealing.</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc8.jpg"><img class="alignnone size-medium wp-image-99" title="mc8" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc8.jpg" alt="" width="300" height="170" /></a></p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/mc8.jpg"></a>There are a number of different MSG processors that take a color input and then colorize it using 1 or more color palette or gradients. These processors are very useful for generating more appealing colorings for abstract artwork generated using MSG. The ForceColorMap processor is being used for this purpose in the example above. This processor takes 3 image input streams and 2 color palette input streams and then generates 3 output streams. Note how the visual appearance and aesthetic of the previous example has been radically modified by this ForceColorMap processor.</p>
<p>There are a number of different SmoothColorMap and ForceColorMap processors that can be used as described above to recolorize a color image. Some base their coloring on color palettes and others on color gradients. Some are also configured so that they can generate 2 different colors in different local areas in the output image based on another modulator input stream.</p>
<p><strong>More Elaborate Coloring Strategie</strong>s</p>
<p><a href="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msg6.jpg"><img class="alignnone size-medium wp-image-216" title="msg6" src="http://www.synthetik.com/tips/wordpress/wp-content/uploads/2008/08/msg6.jpg" alt="" width="300" height="300" /></a></p>
<p>The example above shows a more elaborate coloring strategy. While working with directed evolution in the Evolution Editor i ended up with a MSG preset that used the 1to3PaletteMap processor as a final coloring step. This gave a very characteristic appearance associated with color palette mapping that seemed too synthetic or sterile to me. So to create something more organic, i added an additional processor that filtered the palette mapped output to soften it and add more organic character. I then used the ForceColorMap processor with 2 different color palette mapping inputs to remap the processed palette mapped image into a different color palette to create a much more organic effect shown above.</p>
<p>This example also shows how a little select manual editing after a round of directed evolution can help clean up any potential problems or hone in a particular artistic style.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synthetik.com/tips/wordpress/2008/08/msg-coloring-strategies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
