Skip to content

UVAtlasComputeIMTFromPerTexelSignal

Chuck Walbourn edited this page Aug 16, 2025 · 5 revisions
UVAtlas

Calculate per-triangle IMT's from per-texel data. This function is similar to UVAtlasComputeIMTFromTexture, but can calculate higher dimensional values than 4.

HRESULT UVAtlasComputeIMTFromPerTexelSignal(
    const XMFLOAT3* positions, const XMFLOAT2* texcoords, size_t nVerts,
    const void* indices, DXGI_FORMAT indexFormat, size_t nFaces,
    const float *pTexelSignal, size_t width, size_t height,
    size_t signalDimension, size_t nComponents,
    DWORD options,
    std::function<HRESULT(float percentComplete)> statusCallBack,
    float* pIMTArray);

Parameters

pTexelSignal: A float array of width * height * nComponents in size.

signalDimension: How many floats per texel to use in calculating the IMT.

options: A combination of UVATLAS_IMT flags

  • UVATLAS_IMT_DEFAULT - The default is no wrapping in either U or V.
  • UVATLAS_IMT_WRAP_U - Wrap in the U dimension
  • UVATLAS_IMT_WRAP_V - Wrap in the V dimension
  • UVATLAS_IMT_WRAP_UV - Wrap in both the U and V dimensions.

pIMTArray: The resulting IMT data which is passed to UVAtlasCreate or UVAtlasPack which is an array of 3 float values per face.

Returns

This function will succeed with an S_OK or will return an HRESULT error code (E_INVALIDARG, E_OUTOFMEMORY, E_FAIL, E_POINTER, E_UNEXPECTED, or HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW)).

If statusCallBack returns false, this function will return E_ABORT.

Exceptions

This function does not throw C++ exceptions, but is not marked noexcept because statusCallBack could generate one.

For Use

  • Universal Windows Platform apps
  • Windows desktop apps
  • Windows 11
  • Windows 10
  • Windows 8.1
  • Xbox One
  • Xbox Series X|S
  • Windows Subsystem for Linux

Architecture

  • x86
  • x64
  • ARM64

For Development

  • Visual Studio 2022
  • Visual Studio 2019 (16.11)
  • clang/LLVM v12 - v20
  • GCC 10.5, 11.4, 12.3, 13.3, 14.2
  • MinGW 12.2, 13.2
  • CMake 3.21

Related Projects

A python wrapper of UVAtlasTool

DirectXMesh

DirectXTex

DirectXMath

Tools

Test Suite

Content Exporter

DxCapsViewer

Clone this wiki locally