Skip to content

AttributeSort

Chuck Walbourn edited this page Jan 21, 2022 · 4 revisions
DirectXMesh

Reorders the faces grouping together all those that use the same attribute id.

This optimizes draw submission by minimizing state changes and maximizing draw batches.

HRESULT AttributeSort(
   size_t nFaces, uint32_t* attributes, uint32_t* faceRemap );

Parameters

The attributes array is sorted by this function, and is used as both an input and an output.

faceRemap indicates the new face ordering: oldLoc = faceRemap[newLoc]. See ReorderIB and ReorderIBAndAdjacency for details.

Remarks

This function does not duplicate any vertices. The ideal attribute sort for vertex pre-transform cache optimization ensures that each vertex is only used once for a given attribute. This can be accomplished by calling Clean before doing this sort.

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 - v18
  • GCC 10.5, 11.4, 12.3
  • MinGW 12.2, 13.2
  • CMake 3.20

Related Projects

DirectX Tool Kit for DirectX 11

DirectX Tool Kit for DirectX 12

DirectXTex

DirectXMath

Tools

Test Suite

Content Exporter

DxCapsViewer

See also

DirectX Landing Page

Clone this wiki locally