Texture Arrays for Height Mapped Surfaces

Texture array feature allows many textures to be applied to a surface.  Feature is intended for large scale height mapped surfaces representing terrains.

Setting up a Texture Array Surface

Create and select a height mapped surface as Surface A. In Height Map tab of Surface Effects dialog open Texture Options dialog. Enable Use Texture Array and select resolution. There will be no immediate differences in rendering of the surface on enablement.

Texture Array Features

Texture arrays contain a collection of textures all of the same resolution and format. All textures will be scaled to the array resolution when assigning textures on an array textured surface.  Up to 63 textures may be included in the array.

Texture Array Surface Characteristics

Texture array surfaces are subdivided into tiles.  Each tile may contain a unique set of surface characteristics.  Following table lists characteristics that apply to entire surface and per tile.

 Entire Surface Per Tile
Diffuse color Specular Color/Power
Blend Factor Map Base Map
Color Modulation Map Blend Map
Height/Detail map Blend Map 2
Instance map Specular Map
Texture Blend Factor Specular Blend Map*
  Specular Blend Map 2*
Normal Vector Maps
Texture Blending
Triplanar Blend
*Only available for texture array surfaces

Selecting Surface Array Tiles

Select individual tiles by moving mouse pointer on an array surface and click middle button. Tile will highlight to different color on the surface. Subsequent middle click on highlighted tile will deselect.  Status bar will indicate a texture array surface and number of selected tiles.

Select a range of tiles by holding middle button down and dragging around the surface.  Deselect a range of tiles on a surface by holding middle mouse button + Ctrl key down while dragging around the surface.

Deselect all tiles with a middle mouse button click + Ctrl key down or over a another surface/empty area.

Note: When selecting tiles any instance objects should be deselected, interactive instance feature will take precedence over tile selection showing instance brush instead of tiles.

Blending Textures Between Tiles Seamlessly

Array tiles are rectangular, seamless texture blending throughout surface with various textures requires use of a Blend Factor Map assigned to texture array surface. Use a Blend Factor Map and texture blending to transition or combine textures seamlessly as shown in example. 
Note: Height/Blend factor maps are created externally

Array Surface showing textured tiles without a blend factor map

Blend Factor Map with R/G channels designating texture blending.  In this case up to 3 textures can be combined per tile.  A grey scale blend factor map may combine 2 textures per tile.

Result of Texture Array Surface with Blend Factor Map applied.  Note: Texture wrap S/T is disabled for blend factor map to map across entire surface

Specular Reflection Color with Texture Array Tiles

Using specular reflection on texture array surface requires using a specular map. Specular map contains a scalar factor specifying which Texel's are light reflective. Specular color set in the Surface Effects dialog modulates specular reflection color & intensity for a tile. Specular map factor blends with the associated color map (base, blend, blend 2 maps) based on blend factor map. This allows 1 or more maps to show specular and transition seamlessly between specular reflective regions. If there is no associated specular map with a color map the specular factor defaults to 0 resulting in no specular color reflection.
Specular reflection requires factor sampled from the specular map, specular color and power on the tile to be non-zero to show. There is no constant specular reflection using only the specular color as set from the Surface Effects dialog (although this effect can be achieved using an all white specular map and assigning to a tile)