Skip to content

UVAtlasComputeIMTFromPerVertexSignal

Chuck Walbourn edited this page Jan 21, 2022 · 3 revisions
UVAtlas

Calculate per-triangle IMT's from per-vertex data, to be used as input to UVAtlasCreate or UVAtlasPartition. This function allows you to calculate the IMT based off of any value in a mesh (color, normal, etc.).

HRESULT UVAtlasComputeIMTFromPerVertexSignal(
    const XMFLOAT3* positions, size_t nVerts,
    const void* indices, DXGI_FORMAT indexFormat, size_t nFaces,
    const float *pVertexSignal,
    size_t signalDimension, size_t signalStride,
    std::function<HRESULT(float percentComplete)> statusCallBack,
    float* pIMTArray);

Parameters

pVertexSignal: A float array of size signalStride * nVerts.

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

signalStride: The number of bytes per vertex in the vertex signal array. This must be a multiple of sizeof(float).

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

For Use

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

For Development

  • Visual Studio 2022
  • Visual Studio 2019 (16.11)
  • clang/LLVM v12 - v18
  • GCC 10.5, 11.4, 12.3
  • MinGW 12.2, 13.2
  • CMake 3.20

Related Projects

A python wrapper of UVAtlasTool

DirectXMesh

DirectXTex

DirectXMath

Tools

Test Suite

Content Exporter

DxCapsViewer

Clone this wiki locally