Skip to content

A c++ wrapper library around DirectXTex and Texconv

License

Notifications You must be signed in to change notification settings

rfuzzo/TexconvLib

Repository files navigation

Texconv

A c++ wrapper library around DirectXTex and Texconv.

Build instructions

  1. Clone the repository into an empty folder
git clone https://github.com/rfuzzo/TexconvLib.git
  1. Update the submodules
git submodule init --recursive
  1. Build the repository with cmake
  • CMakeLists.txt or Source/CMakeLists.txt

  • There is also a TexconvLib.sln for c# interop tests.

Currently implemented Texconv functions:

  • ConvertAndSaveDdsImage

  • ConvertDdsImageToArray

  • Flip/Rotate

  • Resize

  • Swizzle

  • Color rotation

  • Tonemap

  • Convert

  • Convert NormalMaps

  • ColorKey/ChromaKey

  • Invert Y Channel

  • Reconstruct Z Channel

  • Determine whether preserve alpha coverage is required

  • Generate mips

  • Preserve mipmap alpha coverage

  • Premultiplied alpha

  • Compress

  • Set alpha mode

Currently implemented DirectXTex functions:

DXGI Format Utilities

  • ComputePitch
  • ComputeScanlines
  • ComputeScanlines

Texture metadata

  • GetMetadataFromDDSMemory
  • GetMetadataFromDDSFile
  • GetMetadataFromHDRMemory
  • GetMetadataFromHDRFile
  • GetMetadataFromTGAMemory
  • GetMetadataFromTGAFile

Image I/O

DDS operations

  • LoadFromDDSMemory
  • LoadFromDDSFile
  • SaveToDDSMemory
  • SaveToDDSMemory
  • SaveToDDSFile
  • SaveToDDSFile

HDR operations

TGA operations

  • LoadFromTGAMemory
  • LoadFromTGAFile
  • SaveToTGAMemory
  • SaveToTGAFile

Texture conversion, resizing, mipmap generation, and block compression

  • Resize

  • Resize

  • Convert

  • Convert

  • ConvertToSinglePlane

  • ConvertToSinglePlane

  • GenerateMipMaps

  • GenerateMipMaps

  • GenerateMipMaps3D

  • GenerateMipMaps3D

  • ScaleMipMapsAlphaForCoverage

  • Compress

  • Compress

  • Compress

  • Compress

  • Decompress

  • Decompress

Normal map operations

  • ComputeNormalMap
  • ComputeNormalMap

Misc image operations

About

A c++ wrapper library around DirectXTex and Texconv

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published