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

Specular reflection on texture array surfaces support a specular map for each color map assigned to a tile.  Specular maps contain 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 factors are blended according to the associated blend factor map when set for the height map surface. This allows 1 or more tiles to show specular and transition seamlessly between specular reflective regions.
 
Specular reflection requires factor sampled from the specular map (if present), specular color and power on the tile to be non-zero to show. When there is no specular map assigned to a tile the factor defaults to 1.