The Texture Editor is able to load and preview the various types of bitmap files Maxwell is able to render, including Maxwell MXI files, and other HDR images.
Texture parameters are fairly self-explanatory, the plugin makes clear any Textures with paths that aren't valid. In addition to standard image-types, both inverted Textures, and MXI/HDR Textures are able to be shown in the viewport. The parameters located in the editor affect how the Texture is to be tiled and offset on a global basis, that is, changes made using the editor will apply to all objects which use the Material that is currently being edited. Due to the modeless nature of the editor, changes can be made with real-time visual feedback ocurring in the viewport.
Copying Texture Paths and ParametersWhen using drag-and-drop to copy Texture paths from one Texture to another, holding down the CTRL key will cause the source Texture's parameters to be copied to the destination as well. While adjusting Texture parameters, two modifier-key sequences are available. If , while adjusting a parameter:
- CTRL held down: all Textures in this component (BSDF, Coating) will also be adjusted to match
- CTRL+SHIFT held down: all Textures in this Material will also be adjusted to match
- Map: an RGB image to be used in this channel
- Tile X/Y: an amount to scale this Texture along the X or Y axis
- Offset X/Y: an amount to offset this Texture along the X or Y axis
- Channel: specifies which projection to use for this Texture
  Invert: inverts the RGB values in the image
  Interpolation: turns on or off Texture pixel-interpolation
(smoothing)
Real Scale: causes Tile/Offset inputs to be interpreted in meters,
rather than relative to the projection-size.
  Normal Mapping: enables Normal Mapping for the Bump channel.
Once enabled, the channel's Flip X, Flip Y, and Wide Z parameters become available
  Center Image: re-centers the texture-preview, in the case it gets
panned out of view
  View Image: opens the image file in the system's default image-viewer
Real Scale
( see also, Object Properties : Real Scale Texture Control )
Real Scale texture mode provides a way of working with textures in an object-size-independent way.
By default, textures are projected onto objects by Rhino using a 'surface' mapping. This means that the rectangular texture is stretched out across the
surface. Optionally, you may use Rhino's texture-mapping tools to define other explicit planar, cubic, spherical, or cylindrical
mappings. Rather than the texture's pixels being stretched to fit the object's surface, they will be 'projected' onto the object
using these primitives.
When an object which has no explicit mapping is scaled, the texture's pixels are just stretched out differently, depending on how
the object was scaled. If it uses an explicit mapping, Rhino will attempt to scale the mapping to match. In both cases, the size of
the mapping is dependent on the size of the object. In many cases, this is the desired result - the texture bears some relation to
the object it is being assigned to, and when the object changes, the texture should be changed to match. But it is not always desired.
Say, for example, that you are building a model of a piece of wood furniture. You want to assign a woodgrain texture to the various parts of the model. In this case, it is certain that you do not want the size of the texture to be dependent on the size of each object it is assigned to - the size of the woodgrain should remain constant. This is the purpose of the Real Scale function; to maintain texture-size independent of object-size. In Maxwell, this means that rather than defining a texture's size by defining how many times it 'tiles' across the mapped area, this texture may have its' Real Scale feature enabled. After doing so, the meaning of the Tile X/Y size parameters take on a different meaning: if you specify a Tile X value of 0.25, it does not mean to stretch out the texture four times across the mapping, it means that each tile should be an absolute 0.25 meters in the X direction. To use a texture in Real Scale mode, you should not define any explicit Rhino texture-mappings for it - the plugin will create a cubic mapping for each object to which this texture is assigned. After creating the object's mapping, the plugin will size it so that each texture tile is [Tile X/Y times 1 meter] in size, regardless of the current document's unit scale.
This brings a new question: if you are not supposed to define an explicit projector for Real Scale textures, how can you define the orientation of the texture on the object? Normally, this would be done by selecting the Rhino texture-mapping, clicking 'Show Widget', and then manually dragging it around the viewport. Since this is not possible, and the orientation of the mapping is determined only by the plugin, you are provided with three rotation parameters in the Maxwell Object Properties page - these will be shown when the object is selected in the viewport.
So, using Real Scale is actually the simplest method of mapping with the plugin:
- assign a Material which uses Real Scale textures to an object
- make sure that the Real Scale-enabled textures use Channel 0
- select the object
- find the Maxwell Object Properties > Real Scale Texture Control section in Rhino Object Properties
- use the x/y/z axis rotation controls to orient the texture as desired
This is all that is required; after doing this, the object may be moved/scaled/rotated/modified however you wish, and the plugin will keep the mapping oriented correctly and sized based on the one-meter scale. If a Real Scale-enabled texture uses a Channel other than 0 then the texture will operate just as any other, except that its Tile X/Y parameters will size things inverse to normal - decreasing Tile will decrease the texture-size, and vice-versa. The plugin will cause whichever mapping index is used by the current texture to be shown in the viewport, if one exists - this happens when switching the 'current' texture (i.e. clicking on a texture-button in the Material Editor), or when changing the Channel of the current texture.
Note that because the plugin is a client of the viewport, and not its' owner, there are certain object-modifications you may make which will cause the viewport to show an inaccurate representation of the mapping (i.e. boolean, split, etc. - things which cause UVs to be re-calculated), and it may be necessary to use the 'Refresh viewport Materials' command to restore the Real Scale state of the object in the viewport.