AoN_Grid:
The Gui for AoN:Grid and all the other procedural shaders consists of 3 tabs,
Texture,
Transform and
Presets.
The last one is the easiest, so let's look at it first:
AoN_Grid_Presets.jpg
Tons of buttons as you can see ;-)
The first block
"Reset to Defaults" resets the controls on the Texture tab to the defaults for each of the available structures. This is handy if you get lost or want f.i. a checkerboard and no fuss.
Next block
"Interesting Variations" contains different presets for the basic structures that often show some special usage of the less prominent controls like Absolut, Bias and Gain etc.
"Wild Stuff" contains presets that are pretty much like the title says - most of them use the Smear distortion to give you distorted results and break the regularity of the basic structures.
"Reset Transformations" allows just that, set all the sliders to neutral values.
"Set Transform Mixing" is a very special idea of mine that I will explain next with the Transform tab:
AoN_Grid_Transform.jpg
As you can see in the above screenshot, you first select if you want to use
a.) the ray
"Intersection Point",
b.)
"External Coordinates" or
c.)
"Use Texture Projection".
a.)
"Intersection Point" doesn't need any kind of projection, it is not "sticky", but the object "floats through the texture". This is great for testing, or static images when you just need a fast texture on an object (a grid on a floor for instance) that you don't intend to move etc. These coordinates are "3D" and "fill the space". This is the default.
b.)
"External Coordinates" is your option if you want to provide texture vectors to the shader yourself. Just connect your coordinates to the "Coords"-Input of the shader and select this option.
c.)
"Use Texture Projection" is maybe the most useful for everyday stuff, since it allows you to use the XSI texture projection system. When you select it from the dropdown, the normal XSI texture space selector becomes active and allows you to create, edit and select what projection to use.
If you use UV textures or any kind of standard projection (planar, spherical, cubic etc.) you can use the "1D" and "2D" variations of the AoN_Grid textures. Only for "Spatial" coordinates it makes sense to use the 3D-variants.
General Transforms
The next three groups of the GUI allow you to transform the textures.
First you can
Scale the texture (and here you have a checkbox for axis synchronizing if you want to enter just one overall size).
Second is
Rotation and third is
Offset. Nothing too exotic here, other than that you have 5 digits of accuracy (instead of 3 like normal XSI) so you can go pretty small or large if you want.
More exotic are the dropdowns under the sliders.
They are actually a tribute to messiah:studios brilliant nodes, where you can have multiple inputs for each parameter and mix those with the internal values - the first is impossible in XSI but the second works and I found it worthwhile to implement it since it makes the nodes more flexible (and you need less nodes).
This is how it works:
If the dropdown is at
"None", Sliders and Input are ignored and default values are used (1.0 for scale, 0.0 for Rotate and Offset).
If you select
"Sliders Only" only the values of the sliders in the GUI are used, the input is ignored (good for testing without disconnecting the input).
"Input Only" is the other way around - the slider values are ignored and only the external input is used.
And now comes the real fun:
"Sliders + Input" adds the Value of the sliders to the input values. This is cool if you want to drive Rotation with a noise texture, and then animate the rotation to revolve around 360° over time. It's like a simple mixer built into the shaders input.
When there are more of my shaders available, I will show more possible uses for this.
"Sliders - Input",
"Input - Sliders" and
"Sliders * Input" are the other available modes and should be self explanatory I hope.
Especially the last is great if you want to control the impact of your external input, you can just scale it with the sliders...
And finally the main tab, "Texture":
AoN_Grid_Texture.jpg
On top you have the main selection dropdown
"Grid Style" where you can choose what basic structure you want. I think it makes most sense that you test the available options out yourself or with the help of the available presets.
They are:
"Lines(1D)"
"Lines(2D)"
"Grid(2D)"
"Grid(3D)"
"Weave(2D)"
"Softgrid(3D)"
"Checkerboard(2D)"
"Checkerboard(3D)"
"Random Checks(2D)"
"Random Checks(3D)"
"Bricks(2D)"
"Bricks(3D)"
... where the 1D or 2D versions only have structure in one or two dimensions which is best for UV, planar, spherical, cylindrical, cubic and camera mapping (all mappings that you usually use for a 2D image texture) whereas the 3D versions "fill space" and are best for spatial or intersection point mappings.
One very important thing to keep in mind is, that these are procedurals and you may wonder why your cube looks all white although you selected the Grid 3D for instance. If your cube happens to be exactly of a size that is a multiple of the gridsize, then you may be "inside" a gridline with your outer cube faces. Try scaling the whole texture a bit up or down and see if you get something closer to what you expected. This is also true for the presets - some of them don't look like they are named at all when used on something different than the original cube I designed them on.
That's just the nature of the beast ;-)
Ok, next is the two colors for your texture. Almost all my procedurals are represented as greyscale values internally. You could always use that with a gradient, but since I most of the time want procedurals to happen between two colors, seldom more and seldom less, I found it more convenient to have a mini-mixer built in. The internal greyscale representation is interpolated between those two colors, and sure you can have
Color_A as black and
Color_B as white or yellow or whatever.
Directly beneath you find
"Scale Output". This is a brand new value also inherited from my messiah:studio shaders. messiah had multiple outputs per shader node from day one where MR only introduced them some time ago. I always found it very practical, to be able to get either color or scalar values out of the shader without additional conversion nodes (did I already mention that I absolutely hate them? ;-) )
Also, it can be helpful to have the basically same structure/texture available in different scalings. And this is what this value does, it scales the
"Scaled" output of the shader so that you can for instance use it for displacement with a value of 0.1 and at the same time use the "Color" out as diffuse color with Color_A set to dark grey and Color_B set to a medium red.
Talking about outputs: The
"Raw" output gives you the main internal greyscale representation of the structure, that you could use for instance for bumpmapping etc. (although the bumpmap shader in XSI takes a color

)...
This is a bit alien for XSI, but I personally love to have as little nodes in my trees as possible
Next are the
"Grid Sizes".
Depending on the structure you have chosen above these values give the texture it's final look.
"Gridsize",
"Linewidth" and
"Smoothing" are working together in a specific way to allow for a hopefully clear handling:
The main value is the Gridsize - imagine if as something like an overall stepsize. For instance in a checkerboard, the Gridsize determines the size of one black and one white field together. If the Linewidth is exactly half as large as Gridsize, you get your classical checkerboard.
So the Linewidth is taken away from the Gridsize, not added to it!
The reason for this is, that you can use a procedural to drive Linewidth if you want, and you will get only distorted borders on the lines, but not a distorted overall grid (which can be achieved otherwise).
If Linewidth is larger than the Gridsize, it is clamped to the same value as Gridsize (but be aware that such a big linesize will give you full white results since the lines cover everything).
Smoothing works the same: It can never be larger than the Linewidth and is clamped to that internallly, since it is the gradient falloff of the lines, happening only within the area of the lines.
Again, Smoothing can be driven independently from everything else by external textures.
The next group is the same for all my procedurals:
"Grid Settings".
Here you find functions to massage or alter your structure.
I better show some pictures here, so on to the next post we go...
TBC
Thomas
You do not have the required permissions to view the files attached to this post.