NEWS: This project is now hosted on GitHub https://github.com/Microsoft/DirectXTex. This site is being maintained for now, but please move to using GitHub. https://github.com/Microsoft/DirectXTex/wiki/Texassemble

This DirectXTex sample is a command-line texture utility for creating DDS files containing cubemaps, volume maps, or texture arrays from individual images.

This utility does not support mipmap generation or texture compression, but the resulting .DDS file can be further processed by the Texconv utility. Any texture compressed input file is decompressed on load.

Syntax

Texassemble.exe uses the following command syntax:

texassemble [-cube | - volume | -array | -cubearray] [-w width] [-h height] [-f format] [-if filter] [-sepalpha] [-o <outputfile>] [-dx10]  [-nologo] <files>
The file-name parameter indicates the file(s) to use to create the image.

The optional command-line switches are described in the following table.

Optional Switches Description

Feature Level Notes

Cubemaps must always have six faces to support Direct3D 10.x/11.x. Direct3D 9 allowed partial cubemaps (less than six faces) defined, but texassemble does not support building these files.

Texture arrays require Feature Level 10.0 or later hardware. They are not supported by 9.x feature levels.

Cubemap arrays (i.e. 12 or more images defining two or more cubemaps in the same resource) require Feature Level 10.1 or later hardware. They are not supported by 10.0 or 9.x feature levels.

Examples

texassemble -volume -w 256 -h 256 -o volume.dds lena.jpg fishingboat.jpg peppers.tiff

This loads the three image files 'lena.jpg', 'fishingboat.jpg', and 'peppers.tiff', resizes them to 256 x 256, and then writes out a volume (3D) texture to 'volume.dds' sized 256 x 256 x 3 with each input image as a depth slice. The result uses a DXGI format derived from the 'lena.jpg' input image, or one could be provided via the '-f' command-line switch. The result does not have mipmaps but 'volume.dds' could be use as input for texconv to finish the processing such as generating mipmaps or block-compression.

texassemble -cube -w 256 -h 256 -o cubemap.dds lobbyxposjpg lobbyxneg.jpg lobbyypos.jpg lobbyyneg.jpg lobbyzpos.jpg lobbyzneg.jpg

This loads the six image JPEG files, resizes them to 256 x 256, and then writes out a cubemap texture to 'cubemap.dds' sized 256 x 256 with six faces, with each input image as a distinct face (ordered positive-x, negative-x, positive-y, negative-y, positive-z, and negative-z). The result uses a DXGI format derived from 'lobbyxpos.jpg', or one could be provided via the '-f' command-line switch. The result does not have mipmaps but 'cubemap.dds' could be use as input for texconv to finish the processing such as generating mipmaps or block-compression.

texassemble -array -o array.dds lena.jpg peppers.tiff

This loads the two image files 'lena.jpg' and 'peppers.tiff'. It resizes 'peppers.tiff' to the same size as 'lena.jpg', and then writes out an array 2D texture to 'array.dds' using the two input images. The result uses a DXGI format derived from 'lena.jpg', or one could be provided via the '-f' command-line switch. The result does not have mipmaps but 'array.dds' could be use as input for texconv to finish the processing such as generating mipmaps or block-compression. Note that loading 'array.dds' requires feature level 10.0 or better hardware.