Portal 2: Community Edition

Documentation

Home ReferenceVScriptAngelscriptPanorama
GitHub
Edit

vtex2

vtex2 is a Valve Texture Format conversion and creation tool. It has a CLI and a GUI component for viewing, packing and otherwise converting the files.

The source code is availible here on GitHub.

Usage

Command help documentation and usage examples can be shown on the command line using vtex2 --help.

For action-specific help, use vtex2 <action> --help.

Creating VTFs

Creating a VTF can be done with the vtex2 convert action.

For example, the following command will create a VTF called some-file.vtf with the format BGRA8888:

vtex2 convert -f bgra8888 some-file.jpg

If you pass a directory to vtex2 convert, it will convert all files in that directory. The -r or --recursive parameter will cause the program to descend and process subdirectories too.

Full list of options:

USAGE: vtex2 convert [OPTIONS] file...

  Convert a generic image file to VTF

Options:
  --bumpscale                      Bumpscale
  --clamps                         Clamp on S axis
  --clampt                         Clamp on T axis
  --clampu                         Clamp on U axis
  --no-mips                        Disable mipmaps for this texture
  --pointsample                    Set point sampling method
  --srgb                           Process this image in sRGB color space
  --start-frame                    Animation frame to start on
  --thumbnail                      Generate thumbnail for the image
  --trilinear                      Set trilinear sampling method
  --version                        Set the VTF version to use
  -c,--compress [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
                                   DEFLATE compression level to use. 0=none, 9=max. This will force VTF version to 7.6
  -f,--format [rgba8888, abgr8888, rgb888, bgr888, rgb565, i8, ia88, p8, a8, rgb888_bluescreen, bgr888_bluescreen, argb8888, bgra8888, dxt1, dxt3, dxt5, bgrx8888, bgr565, bgrx5551, bgra4444, dxt1_onebitalpha, bgra5551, uv88, uvwq8888, rgba16161616f, rgba16161616, uvlx8888, r32f, rgb323232f, rgba32323232f, ati2n, ati1n, bc7]
                                   Image format of the VTF
  -gl,--opengl                     Treat the incoming normal map as a OpenGL normal map
  -h,--height                      Height of the output VTF
  -m,--mips                        Number of mips to generate
  -n,--normal                      Create a normal map
  -o,--output                      Name of the output VTF
  -r,--recursive                   Recursively process directories
  -w,--width                       Width of the output VTF
  file                             Image file to convert or directory to process

Extracting image data from VTF

Extracting image data from a VTF can be done using vtex2 extract.

For example, the following command will extract the VTF to some-file.jpg:

vtex2 extract -f jpg some-file.vtf

If you pass a directory to vtex2 extract, it will convert all files in that directory. The -r or --recursive parameter will cause the program to descend and process subdirectories too.

Full list of options:

USAGE: vtex2 extract [OPTIONS] file...

  Converts a VTF into png, tga, jpeg, bmp or hdr image file

Options:
  -f,--format [png, jpeg, jpg, tga, bmp, hdr]
                                   Output format to use
  -m,--mip                         Mipmap to extract from image
  -na,--no-alpha                   Exclude alpha channel from converted image
  -o,--output                      File to place the output in
  -r,--recursive                   Recursively process directories
  file                             VTF file to convert or directory to process

Displaying VTF Info

The vtex2 info command can be used to display some info about VTF files.

Full list of options:

USAGE: vtex2 info [OPTIONS] file...

  Displays info about a VTF file

Options:
  -a,--all                         Display all detailed info about a VTF
  -r,--resources                   List all resource entries in the VTF
  file                             VTF file to process

Channel pack a VTF

The vtex2 pack command can be used pack images into channels of a VTF.

Full list of options:

USAGE: vtex2 pack [OPTIONS] -o...

  Packs images into a MRAO or normal+height map

Options:
  -aoc,--ao-const                  If no AO map is specified, fill AO value with this constant value
  -aomap,--ao-map                  AO map to pack [MRAO only]
  -gl,--opengl                     Treat the incoming normal map as a OpenGL normal map
  -h,--height                      Height (dimension) of output image. If set to -1, autodetect from input maps
  -hc,--height-const               If no height map is specified, fill height value with this constant value
  -hmap,--height-map               Height map to pack
  -m,--mips                        Number of mipmaps for output image
  -mc,--metalness-const            If no metalness map is specified, fill metalness value with this constant value
  -mmap,--metalness-map            Metalness map to pack [MRAO only]
  -mrao,--mrao                     Create MRAO map
  -n,--normal                      Create packed normal+height map
  -nmap,--normal-map               Normal map to pack
  -o,--outfile                     Output file name
  -rc,--roughness-const            If no roughness map is specified, fill roughness value with this constant value
  -rmap,--roughness-map            Roughness map to pack [MRAO only]
  -tmask,--tint-mask               Tint mask texture to use [MRAO only]
  -w,--width                       Width of output image. If set to -1, autodetect from input maps