TAServers / VTFParser

Simple and modern C++ library for parsing the Valve Texture Format
https://taservers.github.io/VTFParser/
MIT License
7 stars 0 forks source link
cpp source-engine vtf

VTFParser

Simple and modern library for parsing the Valve Texture Format.

Documentation: https://taservers.github.io/VTFParser/

See also: https://github.com/TAServers/BSPParser and https://github.com/TAServers/MDLParser.

What's Included

Example

The following minimal example shows how you can parse and access the VTF high-res image data:

#include "VTFParser.hpp"

// Load from a file on disk, an API, or somewhere in memory
const auto vtfData = ...;

// Parse the data (you should wrap this in a try/catch)
const VtfParser::Vtf vtf(vtfData);

// Read data (exact approach will depend on your use-case)
const auto imageData = vtf.getHighResImageData();
for (uint32_t mipLevel = 0; mipLevel < vtf.getMipLevels(); mipLevel++) {
  for (uint32_t frame = 0; frame < vtf.getFrames(); frame++) {
    for (uint32_t face = 0; face < vtf.getFaces(); face++) {
      const auto offset = vtf.getImageSliceOffset(mipLevel, frame, face);
      // imageData[offset]
    }
  }
}