3 UVAtlasComputeIMTFromPerTexelSignal
Chuck Walbourn редактировал(а) эту страницу 2022-01-20 17:45:00 -08:00
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.